【问题标题】:WPF how to combine two comboboxes with different itemsource into oneWPF如何将具有不同itemsource的两个组合框组合成一个
【发布时间】:2016-04-27 23:32:11
【问题描述】:

假设我目前有两个组合框,一个显示 Productions 列表的内容,另一个显示视图模型中 Seasons 列表的内容。

<ComboBox Grid.Column="1" Grid.Row="0" Margin="3" ItemsSource="{Binding Productions}" SelectedItem="{Binding SelectedProduction}" DisplayMemberPath="DisplayName" />
<ComboBox Grid.Column="1" Grid.Row="0" Margin="3" ItemsSource="{Binding Seasons}" SelectedItem="{Binding SelectedProduction}" DisplayMemberPath="DisplayName" />

我需要做的就是将这两个组合框合二为一。当点击组合框时,它应该会显示一个标题,上面写着 Productions,并且每个作品的下方都应该出现,并在下面显示它应该对季节做同样的事情。所以从图形上看应该是这样的:

Combobox Desired Outcome


制作
生产1
生产2
生产3
季节
第 1 季
第 2 季
第三季

  1. 我想为了将这两个列表都用作 ItemSource 我可以 制作一个包含制作和季节列表的列表,但 还有另一种方法可以将它们都绑定在同一个组合框中吗?
  2. 然后甚至有可能让它看起来像图片中的那样吗?

【问题讨论】:

标签: wpf data-binding combobox itemsource


【解决方案1】:

我会使用专为此类用途设计的CompositeCollection

对于分组,评论中提到的链接@Floc显示了如何使用Grouping

有了这两个,我认为你可以取得成功。只要这两个类都派生自共同的东西以公开相似的属性,这应该非常简单。

【讨论】:

  • 谢谢你们,这正是我想做的:)
猜你喜欢
  • 2016-09-14
  • 1970-01-01
  • 2016-07-20
  • 2022-01-24
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 2015-06-12
相关资源
最近更新 更多