我写了以下xaml代码:
<Window x:Class="ImageScrollDemo.View.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestWindow" Height="300" Width="300">
<Window.Resources>
<Style x:Key="NextImageButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Image Source="..\Images\#next.png" RenderOptions.BitmapScalingMode="HighQuality" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Button Style="{DynamicResource NextImageButtonStyle}" />
</Grid>
</Window>
窗口呈现为空白。我不明白为什么。
答案 0 :(得分:1)
<Image Source="..\Images\#next.png" ... />
检查图像的文件名,并确认它确实包含#
个字符。
另外,尝试使用静态资源:
<Button Style="{StaticResource NextImageButtonStyle}" />
答案 1 :(得分:1)
需要注意的一点是:尝试使用类型语法
指定TargetType<Style x:Key="NextImageButtonStyle" TargetType="{x:Type Button}">
参考:MSDN Style.TargetType Property
使用密钥来引用资源可能就足够了,但不正确的TargetType会干扰。