gpt4 book ai didi

c# - 如何使一个 ObservableCollection 依赖于另一个

转载 作者:行者123 更新时间:2023-12-03 10:50:11 26 4
gpt4 key购买 nike

我有包含一些元素的 ObservableCollection。在这个集合的一些 View 中绑定(bind)了一些元素。但是一个元素是特殊的,这个元素不能在其他 View 中显示。因为我想让其他集合依赖于第一个集合。当然,我可以在我的 ViewModel 中向第一个和另外两个集合添加元素,但是第一个集合在很多地方都发生了变化。因此,从 CollectionChanged 事件我无法修改第二个集合。如何使一个 ObservableCollection 依赖于另一个?

最佳答案

我希望我正确理解了您的问题:)

我认为您不需要第二个/第三个/... ObservableCollection。使用 System.Windows.Visibility 类型的 SpecialVisibility 属性(名称由您决定)扩展您的 View 模型。然后,将此属性绑定(bind)到数据模板的 Visibility 属性。

<ItemsControl.ItemTemplate>
<DataTemplate>
<YourControl Visibility="{Binding Path=SpecialVisibility}" />
</DataTemplate>
</ItemsControl.ItemTemplate>

这些“特殊”元素(即不应显示的元素)只需要将 SpecialVisibility 设置为 System.Windows.Visibility.Collapsed。

当然,这并不能解决您同步许多 ObservableCollections 的问题。但是,我认为这可能会解决您的问题。如果您不能选择使用 CollectionChanged 事件,您可能需要重构代码。

关于c# - 如何使一个 ObservableCollection 依赖于另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6807099/

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