我想创建一些上下按钮使用标准按钮 背景但有黑色箭头。
用 WPF 实现这一点的最佳方法是什么?
马尔科姆
我发现 Marlett (一种内置在 Windows 中的字体)在这方面很有用。
<Button FontFamily="Marlett" FontSize="20" Content="5"/> <Button FontFamily="Marlett" FontSize="20" Content="6"/>
产出:
你可以创建一个表示上下三角形的 Polygon,然后将它们设置为按钮的内容:
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=""/> <Button FontFamily="Segoe UI Symbol" Content=""/>
表示为:
这种字体是预先安装在所有版本的 Windows7和8。
自 Windows 10发布以来,Segoe UI 符号字体被认为是一种遗留资源,在所有新项目中,Segoe MDL2资产应作为 在这里概述替换。