我在XAML中使用10-20个图像,我不想用所有文件分发应用程序。我读过引用this question的this article。它解释了如何使用嵌入式资源。问题是它似乎使用反射后面的资源代码。在我的情况下,我以这种方式声明了我的图像:
<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为目标
答案 0 :(得分:1)
在XAML和WPF中使用Resource
图像(相对)很容易。阅读Pack URIs。将您的图片标记为Solution Explorer
Resource
(不是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>