wpf - 更改按钮图像问题

标签 wpf image xaml controls

我正在 WPF 中工作,我正在尝试更改按钮的图像,我创建了一些触发器和 setter ,但它不起作用。

这是我的 XAML 代码:

<Button BorderThickness="0" Height="23" HorizontalAlignment="Left" Margin="59,6,0,0" Name="topButton" Width="26"  VerticalAlignment="Top"  
            Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" IsEnabled="False" >
        <StackPanel>
            <Image>
                <Image.Style>
                    <Style TargetType="Image">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding ElementName=topButton, Path=Button.IsEnabled}" Value="True">
                                <Setter Property="Image.Source" Value="Images/MoveFirst_Enabled.bmp" />
                            </DataTrigger>
                            <DataTrigger Binding="{Binding ElementName=topButton, Path=Button.IsEnabled}" Value="False">
                                <Setter Property="Image.Source" Value="Images/MoveFirst_Disabled.bmp" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </Image.Style>
            </Image>
        </StackPanel>
    </Button>

我无法意识到我做错了什么。希望你能帮我。预先感谢您。

最佳答案

删除路径按钮。。所以而不是

Path=Button.IsEnabled

你应该有

Path=IsEnabled

示例

<Button BorderThickness="0" Height="23" HorizontalAlignment="Left" Margin="59,6,0,0" Name="topButton" Width="26"  VerticalAlignment="Top"               Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" IsEnabled="False">
    <StackPanel>
        <Image>
            <Image.Style>
                <Style TargetType="Image">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=topButton, Path=IsEnabled}" Value="True">
                            <Setter Property="Source" Value="Images/MoveFirst_Enabled.bmp" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=topButton, Path=IsEnabled}" Value="False">
                            <Setter Property="Source" Value="Images/MoveFirst_Disabled.bmp" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Image.Style>
        </Image>
    </StackPanel>
</Button>

关于wpf - 更改按钮图像问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123491/

相关文章:

wpf - 在 WPF 中使用 .NET 2.0(Windows 窗体)控件的限制?

wpf - 在 WPF 的右侧而不是下方弹出的垂直菜单

c# - 如何将 BorderBrush 颜色更改为默认颜色

c# - 如何在我的代码中向日和月添加零?

wpf - 使用 WindowManager 重新激活退出窗口

c# - 在 .NET 中进行定时回调的最简单方法是什么?

c# - 通过单击行在 DataGrid 中选择一行

javascript - 如何将图像对象转换为二进制 blob

image - 在 Bootstrap 导航栏中居中图像/ Logo ?

ios - 图像作为每个 View 的背景