wpf - 为什么这个触发器不触发?

标签 wpf xaml

<Image Source="Data\Images\close_nohover.bmp">
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Source" Value="Data\Images\close_hover.bmp" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

最佳答案

由于触发器更改了源属性,因此必须在样式内设置源,而不是在图像上显式设置。像这样

<Image>
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Setter Property="Source" Value="Data\Images\close_nohover.bmp"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Source" Value="Data\Images\close_hover.bmp" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

关于wpf - 为什么这个触发器不触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170235/

相关文章:

wpf - 可靠地重新启动单实例 WPF 应用程序

wpf - 将 WPF Toolkit 日期选择器的值重置为 'default' 值

wpf - 计算应等待调度程序

c# - 独立于分辨率的 WPF 应用程序

c# - OnBackButtonPressed 不触发 Xamarin 表单

c# - Button 的 ControlTemplate 的 ContentPresenter 的 Textblock 的前景没有改变

c# - WPF 绑定(bind)到工具提示

wpf - 文本框的自定义模板在 IsEnabled = false 上的行为不符合我的要求

.net - 如何使用d :DesignInstance with types that don't have default constructor?

c# - 如何获取绑定(bind)到可观察集合的数据网格以使用 mvvm 通知删除?