因为TemplateBinding只有在控件模板里才可以写,而在触发器里的Value是不支持TemplateBinding的,正确格式是使用AncestorType来直接查找指定的类型的属性
举例说明:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ItemsControl.HasItems" Value="False"/>
<Condition Property="IsMouseOver" SourceName="PART_Header" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Background" TargetName="Bd" Value="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type TreeViewItem}}}"/>
</MultiTrigger>
RelativeSource={RelativeSource AncestorType={x:Type TreeViewItem}}就是指定TreeViewItem类型的相对数据源