Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用datatriggers在WPF中设置ItemsSource属性_C#_.net_Wpf_Xaml_Data Binding - Fatal编程技术网

C# 使用datatriggers在WPF中设置ItemsSource属性

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> 我一直在尝试上述的不同版本。谁能帮我或

我一直在尝试基于数据触发器也绑定的枚举设置WPF控件的项源

我一直很不成功,我不确定这样做是否正确:

<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>

(除非处于某个控件模板的触发器中,否则可能需要样式。)