这是我第一次必须在XAML中将图像用作资源。我已经通过以下方式在节点Image内声明了一种资源类型Window.Resources:
<Window.Resources>
<Image x:Key="MyIcon" Source="pack://application:,,,/Resources/Images/myicon.png"/>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
必须是琐碎的,但是我没有找到有关如何使用Image类型资源的任何信息。
显然,将资源用作控件的Source属性Image不起作用:
<WrapPanel Background="Transparent" Height="50">
<Image Source="{StaticResource MyIcon}"/>
</WrapPanel>
Run Code Online (Sandbox Code Playgroud)
上面的代码在设置Source属性时会引发异常,具体如下InnerException:
{"'System.Windows.Controls.Image' is not a valid value for property 'Source'."}
Run Code Online (Sandbox Code Playgroud)
使用BitmapImage而不是Image作为资源类型:
<Window.Resources>
<BitmapImage x:Key="MyIcon"
UriSource="pack://application:,,,/Resources/Images/myicon.png"/>
</Window.Resources>
...
<WrapPanel Height="50">
<Image Source="{StaticResource MyIcon}"/>
</WrapPanel>
Run Code Online (Sandbox Code Playgroud)
您也不必在XAML中编写完整的资源文件包URI,因此可以这样编写资源声明:
<BitmapImage x:Key="MyIcon" UriSource="/Resources/Images/myicon.png"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |