按钮控制模板不起作用

时间:2012-01-26 17:03:58

标签: wpf templates button

我写了以下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>

窗口呈现为空白。我不明白为什么。

2 个答案:

答案 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会干扰。