0

我在 XAML 中使用了 10-20 个图像,我不想将应用程序与所有这些文件一起分发。我读过这个问题,它指的是这篇文章。它解释了如何使用嵌入式资源。问题是它似乎使用反射背后的资源代码。就我而言,我的图像是这样声明的:

<Rectangle Width="30" Visibility="{Binding IsChecked, ElementName=maxCheck, Converter={StaticResource BoolVisConverter}}" Margin="-1 0 0 0">
 <Rectangle.Fill>
           <ImageBrush ImageSource="../Images/max.jpg" Stretch="Uniform"/>                  </Rectangle.Fill>
   </Rectangle>

我也有一个SplashScreen我想与其他人合并的。如果可能的话,我也想包括这个图标。

我进行了很多搜索,但仍然找不到解决此问题的简单方法。理想的情况是能够将执行程序所需的所有文件合并到一个 .exe 中。那是因为我希望这个程序是可移动的,用户在共享程序时很容易忘记复制一些文件。

是否有任何指南,技巧或任何东西可以实现这一目标?非常感谢。

我正在使用 VS2012 并针对 .NET 4

4

1 回答 1

1

在 XAML 和 WPF 中使用Resource图像(相对)容易。阅读Pack URIsSolution Explorer在as Resource(not )中标记您的图像Embedded Resource并使用包 URI 引用它们。例如:

<Rectangle Width="30"
           Visibility="{Binding IsChecked, ElementName=maxCheck, Converter={StaticResource BoolVisConverter}}"
           Margin="-1 0 0 0">
    <Rectangle.Fill>
        <ImageBrush ImageSource="pack://application:,,,/Images/max.jpg"
                    Stretch="Uniform"/>
    </Rectangle.Fill>
</Rectangle>
于 2013-09-15T13:33:31.327 回答