在我的WPF控件中,我有以下两个触发器:
但它什么也没做。我在输出窗口中得到这个消息:
System.Windows.Data Error: 17 : 无法从“String”(类型为“String”)获取“IsMouseOver”(类型为“Boolean”)的值。BindingExpression:Path=(0); DataItem='String' (HashCode=1047858601); target element is 'TreeViewExItem' (Name=''); target property is 'NoTarget' (type 'Object') InvalidCastException:'System.InvalidCastException: Das Objekt des Typs "System.String" kann nicht in Typ "System.Windows.DependencyObject" umgewandelt werden。
这并没有告诉我任何东西。它如何工作?
更新:完整的项目代码现在可以在我的GitHub存储库中查看。我猜测一个MultiDataTrigger当前位于at。
<Trigger
Property="Controls:TreeViewExItem.IsMouseOver"
Value="True"
SourceName="ElementGrid">
并且
<DataTrigger
Binding="{Binding
RelativeSource={RelativeSource AncestorType={x:Type Controls:TreeViewEx}},
Path=HoverHighlighting}"
Value="False">
这两者单独使用都很好。但我需要将它们组合在一起。我尝试了以下代码:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition
Binding="{Binding
RelativeSource={RelativeSource AncestorType={x:Type Controls:TreeViewEx}},
Path=HoverHighlighting}"
Value="True"/>
<Condition
Binding="{Binding
(Controls:TreeViewExItem.IsMouseOver),
Source=ElementGrid}"
Value="True"/>
</MultiDataTrigger.Conditions>
但它什么也没做。我在输出窗口中得到这个消息:
System.Windows.Data Error: 17 : 无法从“String”(类型为“String”)获取“IsMouseOver”(类型为“Boolean”)的值。BindingExpression:Path=(0); DataItem='String' (HashCode=1047858601); target element is 'TreeViewExItem' (Name=''); target property is 'NoTarget' (type 'Object') InvalidCastException:'System.InvalidCastException: Das Objekt des Typs "System.String" kann nicht in Typ "System.Windows.DependencyObject" umgewandelt werden。
这并没有告诉我任何东西。它如何工作?
更新:完整的项目代码现在可以在我的GitHub存储库中查看。我猜测一个MultiDataTrigger当前位于at。