2

我在样式中收到此内容模板的错误:“必须为 Setter 指定属性和值。” 我不这样做吗?

<Style x:Key="LinkButton" TargetType="Button">
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="Button">
            <ContentPresenter/>
        </ControlTemplate>
    </Setter.Value>
</Setter>
<Setter Property="ContentTemplate">
    <Setter.Value>
        <DataTemplate>
            <Label x:Name="ContentRoot">
                <StackPanel Orientation="Horizontal">
                    <Viewbox Width="24" Height="24" VerticalAlignment="Center">
                        <Image x:Name="ButtonImage" Source="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Button}}, Path=Tag}" />
                    </Viewbox>
                    <TextBlock VerticalAlignment="Center" x:Name="ButtonText" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Button}}, Path=Content}"></TextBlock>
                </StackPanel>
            </Label>
            <DataTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter TargetName="ButtonText" Property="TextBlock.TextDecorations" Value="Underline"/>
                </Trigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </Setter.Value>
</Setter>

这是一个将使用此样式的按钮:

<Button Name="HelpButton" Style="{StaticResource LinkButton}" Height="30" Content="Help" Tag="Help.png"/>

谢谢!

4

1 回答 1

0

我已经加载了这个并且没有这样的问题。我看到的唯一问题是您的按钮永远不会应用样式。这是因为如果要应用样式,则需要从样式中删除 x:Key。否则,如果您希望仅将样式应用于 HelpButton,则定义应如下所示:

<Button Name="HelpButton" Style="{StaticResource LinkButton}" Height="30" Content="Help" Tag="Help.png"/>

但我看不到您看到的错误。

于 2009-01-30T18:14:41.137 回答