C# 使用datatriggers在WPF中设置ItemsSource属性
我一直在尝试基于数据触发器也绑定的枚举设置WPF控件的项源 我一直很不成功,我不确定这样做是否正确:C# 使用datatriggers在WPF中设置ItemsSource属性,c#,.net,wpf,xaml,data-binding,C#,.net,Wpf,Xaml,Data Binding,我一直在尝试基于数据触发器也绑定的枚举设置WPF控件的项源 我一直很不成功,我不确定这样做是否正确: <DataTrigger Binding="{Binding EnumSetting}" Value="Test"> <Setter TargetName="control" Property="ItemsSource" Value="{Binding Model}" /> </DataTrigger> 我一直在尝试上述的不同版本。谁能帮我或
<DataTrigger Binding="{Binding EnumSetting}" Value="Test">
<Setter TargetName="control" Property="ItemsSource" Value="{Binding Model}" />
</DataTrigger>
我一直在尝试上述的不同版本。谁能帮我或给我指出正确的方向
例如,如果它被包装在“”标签中,我不认为应该是这样,但我不确定这为什么不起作用
谢谢。您主要需要观看,这意味着您不能直接在ItemsControl
(或其子类)上设置ItemsSource,因为它会覆盖触发器。相反,您应该使用默认的setter
<ItemsControl>
<ItemsControl.Style>
<Style TargetType="ItemsControl">
<Setter Property="ItemsSource" Value="SomeDefaultHere"/>
<Style.Triggers>
<DataTrigger ...>
<Setter Property="ItemsSource" Value="SomeOverrideHere"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ItemsControl.Style>
</ItemsControl>
(除非处于某个控件模板的触发器中,否则可能需要样式。)