Я наткнулся на это сообщение и подумал, что опубликую ответ на тот случай, если кто-нибудь ищет простой способ изменить размеры путей или значков.Самый простой способ, который я нашел, - это использовать Viewbox для всех моих дисплеев Path.Это потому, что путь будет хорошо масштабироваться внутри Viewbox.Я использую холст для хранения каждого пути, размер этого холста очень важен, если вы хотите использовать «красивые» числа.
Вот пример того, как это сделать:
Сначала (необязательно) Нарисуйте свою фигуру в программе Vector, например Inkscape или CorelDraw!Я использовал CorelDraw для создания файла .svg . Примечание: При использовании программы для создания вектора размер вашей страницы должен быть примерно 100 X 100 пикселей. Это то, что вы собираетесь установить для размера холста.Если вы пишете путь вручную, это также очень удобный подход, просто выберите размер, например, 100 X 100, и все ваши измерения пути будут <100, используйте его в качестве своей шкалы, другими словами. </p>
Далее используйтепрограмма-переводчик, такая как Vector to Xaml Converter и генерация пути.Сохраните это в Resource Dictionary или поместите в файл, где вам это нужно.Поместите путь внутрь холста следующим образом:
<Canvas x:Key="someName" Width="100" Height="100">
<Path Fill="#FF000000" Stroke="#FF373435" StrokeThickness="1" Data="M92,8L92,8C103,18,103,35,92,45L45,92C35,103,18,103,8,92L8,92C-3,82,-3,65,8,55L55,8C65,-3,82,-3,92,8z"/>
</Canvas>
Снова обратите внимание на размер холста, он должен соответствовать размерам вашей "Доски для рисования".
Затем, чтобы использовать это, просто поместите ContentControl внутри ViewBox, который имеет ширину и высоту, для которых вы хотите, чтобы путь отображался следующим образом:
<Viewbox x:Name="btnClose" Width="30" Height="30">
<ContentControl Content="{StaticResource someName}" />
</Viewbox>
Вот и все!Еще одна приятная вещь об использовании путей - вы можете связать цвет фона (заливка) или переднего плана (обводка).Возьмем наш пример, как управлять цветами:
<SolidColorBrush x:Key="stForeColor" Color="#FFD4D7EA" />
<Canvas x:Key="someName" Width="100" Height="100">
<Path Fill="{StaticResource stForeColor}" Stroke="Transparent" StrokeThickness="1" Data="M92,8L92,8C103,18,103,35,92,45L45,92C35,103,18,103,8,92L8,92C-3,82,-3,65,8,55L55,8C65,-3,82,-3,92,8z"/>
</Canvas>
Есть также множество других вещей, которые вы можете сделать, все, что вы можете сделать с любой другой формой, эффектами, анимацией и т. Д.