0

呼び出し可能な画像スタイルを作成する方法はありますか? ユーザー コントロールに、同じボタンとボタン イメージ スタイルを持つ複数のボタンがあります。ボタンのスタイル(動的リソース)から呼び出せるように、ボタンのスタイルを設定できます。これが私のコードと画像スタイルコードの例です:

<Grid.Resources>
    <Style TargetType="Button"
           x:Key="ButtonEditSaveStyle">
        <Setter Property="IsEnabled"
                Value="False" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding CanEdit}"
                         Value="True">
                <Setter Property="IsEnabled"
                        Value="True" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Grid.Resources>

<Button Width="32"
        Height="22"
        HorizontalAlignment="Left"
        VerticalAlignment="Center"
        Name="gdEmployeeInfo_btnUpdateRecord"
        Click="gdEmployeeInfo_btnUpdateRecord_Click" 
        Style="{DynamicResource ResourceKey=ButtonEditSaveStyle}"/>

上記の呼び出しに追加の呼び出しまたは組み合わせた呼び出しを使用して、画像スタイルも設定できるように、コードを設定したいと考えています。(この次のコードに示すように) ボタンにイメージ スタイルを設定できることはわかっていますが、同じスタイル設定を使用して複数のボタンを更新する場所を 1 か所にしたいと考えています。画像スタイル コード:

<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>
4

1 に答える 1

0

私の質問に対する答えを見つけました。このコード セットにより、ボタンのスタイルの呼び出しを 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-19T22:00:54.760 に答える