Я хочу создать несколько кнопок вверх и вниз, используя стандартную кнопку фон, но с черными стрелками.
Каков наилучший способ сделать это с WPF ??
Malcolm
Я считаю Marlett (шрифт, встроенный в Windows) удобным для такого рода вещей.
<Button FontFamily="Marlett" FontSize="20" Content="5"/> <Button FontFamily="Marlett" FontSize="20" Content="6"/>
Ни одно обсуждение по этому вопросу не будет полным без упоминания мини-языка геометрии (или Синтаксис разметки пути ) для более компактного определения формы: -
<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).
Существует также синтаксис кривой.
Предпочтительный способ сделать это сейчас - использовать Segoe UI Symbol . Он заменяет Марлетт и предоставляет много полезных символов. Вверх и вниз будет
<Button FontFamily="Segoe UI Symbol" Content=""/> <Button FontFamily="Segoe UI Symbol" Content=""/>
Этот шрифт предустановлен во всех версиях Windows 7 +.
Вы можете создать 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 > <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>