C# 将矢量图像(XAML文件)导入WPF

C# 将矢量图像(XAML文件)导入WPF,c#,wpf,image,xaml,C#,Wpf,Image,Xaml,编辑 当使用文件进行编程时,它们需要与代码位于同一个文件目录中,以便您可以引用。这就是为什么创建新项目时通常会有一个资源文件夹。从那里,您可以将其导入到您的项目中,并在下面的答案中使用itlook了解如何做到这一点 设立 我用xaml文件格式创建了一个矢量图像。我使用了Microsoft expression design 4,并遵循此问题中的指南:这很好,允许我制作图像,但是当它创建文件类型时,它将其转换为窗口标记文件。我告诉您这只是为了以防万一,这是一个问题,但这不是问题所在。我不完全理解问

编辑

当使用文件进行编程时,它们需要与代码位于同一个文件目录中,以便您可以引用。这就是为什么创建新项目时通常会有一个资源文件夹。从那里,您可以将其导入到您的项目中,并在下面的答案中使用itlook了解如何做到这一点

设立

我用xaml文件格式创建了一个矢量图像。我使用了Microsoft expression design 4,并遵循此问题中的指南:这很好,允许我制作图像,但是当它创建文件类型时,它将其转换为窗口标记文件。我告诉您这只是为了以防万一,这是一个问题,但这不是问题所在。我不完全理解问题中的代码在做什么,他们说他们可以将xaml文件拖放到窗口中,当我尝试该方法时,我得到的只是错误

问题


现在我有了我想要使用的图像,并将其导入到我的WPF文件中。最好我想把它直接导入我的网格,我在我的窗口上有这只是默认设置,当你打开一个新的WPF,但我也看了使用图像框我不知道你是否可以使用XAML在图像框,所以我不知道这是可能的。两次尝试我都没有成功。因此,我不知道是否与该文件有关,并且没有正确导入它,或者我需要一个子程序来加载它。

您拥有的是一个带有DrawingBrush的ResourceDictory,如果该文件是Visual Studio项目的一部分并且其构建操作设置为Page:

请注意,下面是一个简单的路径

<Window.Resources>
    <Geometry x:Key="AndGate">M0,2 L5,2 A3,3 1 1 1 5,8 L0,8Z</Geometry>
</Window.Resources>

<Path Width="100" Height="100" Stretch="Uniform" Stroke="Black" StrokeThickness="2"
      Data="{StaticResource AndGate}"/>
将产生类似的输出


您可能需要查看。

该文件不是作为visual Studio的一部分存储的。这就是为什么我假设我得到了错误:异常:查找资源字典时出错。感谢您的快速回复和回答。没有考虑矩形。然后添加它。或者忘记表达式设计,将简单形状声明为路径元素,其中分配给数据属性的几何图形也可能存储为XAML资源。文件位于一个驱动器上会影响它吗?这是文件位置:它应该是项目的一部分,或者是引用程序集的一部分。我需要将图像与画布之类的东西分开,因为稍后我将拖放它们。人们告诉我,当你这样做的时候,每次鼠标移动时,计算机都会试图渲染图像,而且它的延迟非常严重。
<Rectangle Width="100" Height="100" 
           Fill="{StaticResource UnnamedObject0}"/>
<Window.Resources>
    <Geometry x:Key="AndGate">M0,2 L5,2 A3,3 1 1 1 5,8 L0,8Z</Geometry>
</Window.Resources>

<Path Width="100" Height="100" Stretch="Uniform" Stroke="Black" StrokeThickness="2"
      Data="{StaticResource AndGate}"/>