wpf - 在 MultiDataTrigger 中组合 DataTrigger 和触发器

标签 wpf xaml data-binding triggers

我从一些示例中看到可以组合这种触发器:

<Trigger Property="IsMouseOver" Value="True">

使用这种数据触发器:

<DataTrigger Binding="{Binding IsHighlightable}" Value="True" />

通过使用这样的 MultiDataTrigger:

<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True"/>
        <Condition Binding="{Binding IsHighlightable}" Value="True" />
    </MultiDataTrigger.Conditions>
    <MultiDataTrigger.Setters>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="BorderBrush" Value="#BF6DBDD1"/>
        <Setter Property="Background" Value="{StaticResource SelectedItemBackgroundBrush}"/>
    </MultiDataTrigger.Setters>
</MultiDataTrigger>

但是,这不适用于附加属性。此触发器的工作原理:

<Trigger Property="UI:TreeViewHelper.IsMouseDirectlyOverItem" Value="True">

但这不起作用:

<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=UI:TreeViewHelper.IsMouseDirectlyOverItem}" Value="True"/>
        <Condition Binding="{Binding IsHighlightable}" Value="True" />
    </MultiDataTrigger.Conditions>
    <MultiDataTrigger.Setters>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="BorderBrush" Value="#BF6DBDD1"/>
        <Setter Property="Background" Value="{StaticResource SelectedItemBackgroundBrush}"/>
    </MultiDataTrigger.Setters>
</MultiDataTrigger>

有没有办法让触发器在 MultiDataTrigger 内正常工作? IsMouseDirectlyOverItem 属性取自此处 http://blogs.msdn.com/b/mikehillberg/archive/2006/09/21/mytreeviewhelperismousedirectlyoveritem.aspx

谢谢

最佳答案

syntax附加属性不同:

Path=(UI:TreeViewHelper.IsMouseDirectlyOverItem)

关于wpf - 在 MultiDataTrigger 中组合 DataTrigger 和触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419210/

相关文章:

c# - TreeView 项目更改事件

c# - 向 WPF 窗口添加控件而不阻塞 GUI 线程

xaml - VS2015 : "The Windows Software Development Kit (SDK) required by the XAML Designer was not correctly installed." exception with Windows Phone 8. 1 XAML

c# - Wpf ComboBox 选定项对齐

c# - winforms中的两种方式数据绑定(bind),在基类中实现的Inotifypropertychanged

WPF - 使动画的执行以绑定(bind)数据项的属性为条件

c# - 从控件中注销类处理程序 - WPF

c# - 如何将值从 xaml 传递给构造函数?

c# - WPF DataGrid,如何在自定义 DataGridColumn 上绑定(bind)属性

javascript - 在我的 Angular 2 应用程序中绑定(bind)到正确的服务调用