WPF-使用标准按钮创建带上下箭头的按钮

我想创建一些上下按钮使用标准按钮 背景但有黑色箭头。

用 WPF 实现这一点的最佳方法是什么?

马尔科姆

73682 次浏览

我发现 Marlett (一种内置在 Windows 中的字体)在这方面很有用。

<Button FontFamily="Marlett" FontSize="20" Content="5"/>
<Button FontFamily="Marlett" FontSize="20" Content="6"/>

产出:

enter image description here

你可以创建一个表示上下三角形的 Polygon,然后将它们设置为按钮的内容:

<Button>
<Polygon
Points="300,200 450,200 375,300 300,200"
Stroke="Black">
<Polygon.Fill>
<SolidColorBrush Color="Black" />
</Polygon.Fill>
</Polygon>
</Button>

您可以调整这些来绘制不同的图形,但这通常是您将用于基本几何的 XAML。

关于这个主题的讨论,如果不提到几何迷你语言(或 路径标记语法) ,就不完整,因为它有更紧凑的形状定义:-

  <Button>
<Path Fill="Black" Data="M 0 6 L 12 6 L 6 0 Z"/>
</Button>
<Button>
<Path Fill="Black" Data="M 0 0 L 6 6 L 12 0 Z"/>
</Button>

第一个描述移动到0,6行到12,6行到6,0,然后关闭形状(Z)。

还有一种曲线语法。

如果你想有一个基本矩形箭头,你可以使用这个样本..。

<Button >
<Polygon   Stretch="Fill"  Fill="Black" Points="0,0 0,30 0,10 30,10 30,-10 45,10 30,30 30,20 0,20 0,0 30,0 30,10 0,10" />
</Button>

现在首选的方法是使用 Segoe UI 符号,它取代了 Marlett 并提供了许多有用的象形文字。 上上下下都是

<Button FontFamily="Segoe UI Symbol" Content="&#xE1FD;"/>
<Button FontFamily="Segoe UI Symbol" Content="&#xE110;"/>

表示为:

updown

这种字体是预先安装在所有版本的 Windows7和8。

自 Windows 10发布以来,Segoe UI 符号字体被认为是一种遗留资源,在所有新项目中,Segoe MDL2资产应作为 在这里概述替换。