【发布时间】:2026-01-19 02:05:02
【问题描述】:
我有一个 DataTrigger 可以根据绑定属性设置 TextBox 的背景。
这是 xaml 的简化版本:
<TreeView >
<TreeViewItem Header="Things" >
<TreeViewItem.Resources>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsDirty}" Value="True">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
<HierarchicalDataTemplate DataType="{x:Type local:Type1}" ItemsSource="{Binding Children, Mode=OneWay}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Margin="6,0,6,0" />
<TextBlock Text="{Binding IsDirty}" Margin="6,0,6,0" />
<i:Interaction.Behaviors>
<dragDrop:FrameworkElementDropBehavior DragEffect="Move" />
</i:Interaction.Behaviors>
</StackPanel>
</HierarchicalDataTemplate>
</TreeViewItem.Resources>
</TreeViewItem>
我添加了一个 TextBlock 来显示 IsDirty 属性的值;如果是这样,背景将保持不变。
我已尝试将样式移至 HierarchicalDataTemplate.Resources,但这没有任何区别。
我忽略了什么?
谢谢——
【问题讨论】:
标签: wpf xaml treeview datatrigger hierarchicaldatatemplate