WPF - Создание кнопок со стрелками вверх и вниз с помощью стандартных кнопок - PullRequest
62 голосов
/ 11 января 2009

Я хочу создать несколько кнопок вверх и вниз, используя стандартную кнопку фон, но с черными стрелками.

Каков наилучший способ сделать это с WPF ??

Malcolm

Ответы [ 5 ]

149 голосов
/ 11 января 2009

Я считаю Marlett (шрифт, встроенный в Windows) удобным для такого рода вещей.

<Button FontFamily="Marlett" FontSize="20" Content="5"/>
<Button FontFamily="Marlett" FontSize="20" Content="6"/>
101 голосов
/ 12 января 2009

Ни одно обсуждение по этому вопросу не будет полным без упоминания мини-языка геометрии (или Синтаксис разметки пути ) для более компактного определения формы: -

  <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).

Существует также синтаксис кривой.

32 голосов
/ 01 марта 2015

Предпочтительный способ сделать это сейчас - использовать Segoe UI Symbol . Он заменяет Марлетт и предоставляет много полезных символов. Вверх и вниз будет

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

Этот шрифт предустановлен во всех версиях Windows 7 +.

5 голосов
/ 11 января 2009

Вы можете создать Polygon, который представляет ваши треугольники вверх и вниз, а затем установить их в качестве содержимого кнопок:

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

Вы можете настроить их, чтобы нарисовать разные фигуры, но обычно это XAML, который вы бы использовали для базовой геометрии.

2 голосов
/ 04 ноября 2012

Если вы хотите иметь стрелку с базовым прямоугольником, вы можете использовать этот пример ...

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...