gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:38:34 25 4
gpt4 key购买 nike

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

我非常不成功,我不确定这是正确的方法:

<DataTrigger Binding="{Binding EnumSetting}" Value="Test">
<Setter TargetName="control" Property="ItemsSource" Value="{Binding Model}" />
</DataTrigger>

我一直在尝试上述的不同版本。谁能帮助我或为我指出正确的方向。

例如,是否应该将其包含在“<'style'>”标签中,我认为不应该如此,但我不确定为什么这不起作用。

谢谢。

最佳答案

主要需要看DP precedence ,这意味着您不能直接在 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>

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

关于c# - 在 WPF 中使用 datatriggers 设置 ItemsSource 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com