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