WPF按钮对启用和禁用状态使用不同的图标

bas*_*bas 1 wpf button

如何根据启用状态为我的按钮指定不同的图标.还不熟悉Style setters.

XAML按钮:

        <Button 
            x:Name="DownloadNewestEpisodes" 
            Width="90" 
            Margin="5,5"
            ToolTip="Download newest episodes"
            ToolTipService.ShowOnDisabled="True"
            Command="w:MainWindow.DownloadNewestEpisodesCommand"
            CommandParameter="{Binding ElementName=TvShowsTreeView, Path=SelectedItem}">

            <StackPanel>
                <Image Source="../icons/import.png" />
            </StackPanel>
        </Button>
Run Code Online (Sandbox Code Playgroud)

我该如何切换

<Image Source="../icons/import.png" />
Run Code Online (Sandbox Code Playgroud)

<Image Source="../icons/import_disabled.png" />
Run Code Online (Sandbox Code Playgroud)

根据按钮的启用状态?

一点点帮助会很棒!

kma*_*zek 5

你可以使用DataTrigger:

<Button...
    >
    <StackPanel>
        <Image>
            <Image.Style>
                <Style TargetType="Image">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Button}}" Value="True">
                            <Setter Property="Source" Value="..." />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Button}}" Value="False">
                            <Setter Property="Source" Value="..." />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Image.Style>
        </Image>
    </StackPanel>
</Button>
Run Code Online (Sandbox Code Playgroud)