gpt4 book ai didi

wpf - 数据绑定(bind)到集合的一部分

转载 作者:行者123 更新时间:2023-12-04 13:42:06 24 4
gpt4 key购买 nike

我有一个静态的项目集合(比如从 1 到 100 的数字),我在 ComboBox 中显示这些项目。我可以毫无问题地将这些项目绑定(bind)到 ComboBox。

我的问题是如何将第二个 ComboBox 绑定(bind)到这些项目的子集。我想要的行为是将第二个 ComboBox 绑定(bind)到选择第一个 ComboBox 后剩余的项目子集。例如,第一个 ComboBox 将显示 1,2,3...,100。如果在第一个 ComboBox 中选择了数字 43,那么第二个 ComboBox 应该显示 44,45,...,100。

如果第一个 ComboBox 在没有大量代码隐藏的情况下发生变化,如何实现并更新第二个 ComboBox?

最佳答案

我会使用 MVVM 模式来做到这一点。创建一个实现 INotifyChange 的类并公开三个 Property。

  • ICollection 全集
  • int FirstIndex
  • ICollection 部分集合

将此类用作控件的 DataContext,并将第一个组合框的 SelectedIndex 绑定(bind)到 FirstIndex 属性,将第一个组合框的 ItemSource 绑定(bind)到 FullCollection,将第二个集合的 ItemSource 绑定(bind)到 PartialCollection(确保 SelectedIndex 绑定(bind)模式是双向的)。然后根据需要在 FirstIndex 属性集上设置 PartialCollection 属性。请记住,您必须在每个属性的设置方法上使用 NotifyPropertyChange。希望对您有所帮助。

关于wpf - 数据绑定(bind)到集合的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265449/

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