0

我目前在网格中有几个按钮,它们具有相同的 xaml 图像样式和按钮样式。我正在尝试从按钮的样式功能中调用网格引用。我可以完成按钮样式的工作,但我在对图像样式进行编码时遇到问题,因此它是一次调用(xaml 的新手)。提前感谢您的帮助。

<Image>
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Setter Property="Source"
                    Value="edit_32.png" />
            <Setter Property="Stretch"
                    Value="Uniform" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsEditing}"
                             Value="True">
                    <Setter Property="Source"
                            Value="save_smallest.png" />
                    <Setter Property="Stretch"
                            Value="Uniform" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

<Button.Style>
    <Style TargetType="Button">
        <Setter Property="IsEnabled"
                Value="False" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding CanEdit}"
                         Value="True">
                <Setter Property="IsEnabled"
                        Value="True" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Button.Style>
4

1 回答 1

1

想出了我的问题的答案。这组代码允许我使用双重样式设置,同时只为按钮样式创建一个调用:

<!--SaveEditImageSwitch-->
<Image x:Key="SaveEditImage" x:Shared="False">
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Setter Property="Source"
                    Value="edit_32.png" />
            <Setter Property="Stretch"
                    Value="Uniform" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsEditing}"
                             Value="True">
                    <Setter Property="Source"
                            Value="save_smallest.png" />
                    <Setter Property="Stretch"
                            Value="Uniform" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

<!--ButtonEditSaveStyle-->
<Style TargetType="Button"
       x:Key="ButtonEditSaveStyle">
    <Setter Property="IsEnabled"
            Value="False" />
    <Setter Property="Content"
            Value="{DynamicResource ResourceKey=SaveEditImage}" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding CanEdit}"
                     Value="True">
            <Setter Property="IsEnabled"
                    Value="True" />
        </DataTrigger>
    </Style.Triggers>
</Style>

<Button Width="32"
        Height="22"
        HorizontalAlignment="Left"
        VerticalAlignment="Center"
        Name="gdEmployeeInfo_btnUpdateRecord"
        Click="gdEmployeeInfo_btnUpdateRecord_Click" 
        Style="{DynamicResource ResourceKey=ButtonEditSaveStyle}">
于 2012-06-19T21:55:03.690 回答