你可以把你的XAML图纸放入资源库,然后引用它们。这会产生很小的程序集,你可以简单地添加一个绘图引用,然后完全“缩小”XAML。与您的第一种方法相比,不需要额外的按键操作。
某处在你的项目,你有一个包含绘图ResourceDictionary中:
<DrawingImage x:Key="image1">
<DrawingImage.Drawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<GeometryGroup>
<EllipseGeometry Center="50,50" RadiusX="45" RadiusY="20" />
<EllipseGeometry Center="50,50" RadiusX="20" RadiusY="45" />
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Brush>
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="Blue" />
<GradientStop Offset="1.0" Color="#CCCCFF" />
</LinearGradientBrush>
</GeometryDrawing.Brush>
<GeometryDrawing.Pen>
<Pen Thickness="10" Brush="Black" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingImage.Drawing>
</DrawingImage>
这不会占用的是,根据大小你会添加到您的程序集作为资源的位图更多的空间和位图机会的复杂性在于,您可以使用xaml节省空间。
然后在你的代码中你引用这张图就是你引用你的位图。没有区别:
<Image Source="{StaticResource image1}" />
您可以使用Microsoft Expression Design自动矢量化点阵图(“对象 - >图像 - >自动跟踪位图”),并将其导出为XAML图纸。它会创建一个DrawingBrush。但你可以放心地用DrawingImage替换它。