Wpf 使用DrawingContext绘制Viewbox
我正在写一个WPF应用程序。我使用的所有图标都是矢量,并以一系列视图框的形式存储在独立的Wpf 使用DrawingContext绘制Viewbox,wpf,xaml,icons,viewbox,Wpf,Xaml,Icons,Viewbox,我正在写一个WPF应用程序。我使用的所有图标都是矢量,并以一系列视图框的形式存储在独立的ResourceDictionary: <ResourceDictionary> <ViewBox x:Shared="False" x:Key="IconKey" Stretch="Uniform"> <Canvas Width="16" Height="16"> <Path ... /> <
ResourceDictionary
:
<ResourceDictionary>
<ViewBox x:Shared="False" x:Key="IconKey" Stretch="Uniform">
<Canvas Width="16" Height="16">
<Path ... />
</Canvas>
</ViewBox>
<!-- ... -->
</ResourceDictionary>
我现在正在实现一个用户控件,由于非常具体的需求,它是我在OnRender方法中从头开始绘制的
我需要在我的控件上呈现这些图标。一种解决方案是将它们栅格化,然后绘制位图,但问题是,我的控件中的视图可以自由缩放,这样的图标在放大时看起来很难看(与矢量图标相反)。有没有一种方法可以使用
DrawingContext
渲染ViewBox
?我不知道如何渲染ViewBox
,但是可以渲染几何体,缩放时不会难看
我在XAML文件中创建了一个图标。构建操作:第页
文件:Icon.xaml
<?xml version="1.0" encoding="UTF-8"?>
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform">
<Canvas Width="25" Height="25">
<Path Fill="#FF000000" StrokeThickness="0.4">
<Path.Data>
<PathGeometry Figures="M 4.9586532 4.4020592 12.198751 19.198359 V 0.91721594 H 20.200561 h 2.894515 Z" FillRule="Nonzero"/>
</Path.Data>
</Path>
</Canvas>
</Viewbox>
如果它们已经是矢量,为什么还需要一个viewbox?通过这种方式将它们嵌入到其他不同的控件中更简单。你找到方法了吗?