WPF在触发器Trigger中Setter绑定控件值的方法

因为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类型的相对数据源

猜你喜欢

转载自blog.csdn.net/FireGhost57/article/details/88066292