ComboBox 绑定到 observablecollection 如何添加 1 个额外值
ComboBox binded to observable collection how to add 1 extra value
我有一个组合框通过
绑定到一个可观察的集合
cmbBladesTab1.ItemsSource = easyRunData.olstBlades;
效果很好。
我希望组合框绑定到所有值加一。
例如
easyRunData.olstBlades;
包含 "PL1", "PL2", "PL3", "PL4"
而 cmbBladesTab1
包含 "ALL BLADES", "PL1", "PL2", "PL3", "PL4"
--添加所有工作都必须从代码隐藏完成
感谢您的帮助。
最简单的方法是在可观察集合中添加一个带有前缀文本/键的额外项目。
这样,因为它在集合中,所以它将在组合框中可见,当用户选择该项目时,您可以评估它是否是添加的项目。
确实给出了一个很好的例子作为这个问题的答案add an item to combobox before bind data from data base
您可以添加 属性,将特定项目添加到列表中。
ObservableCollection<string> myCollection;
ObservableCollection<string> MyCollectionViewProp
{
get
{
var tempCollection = new ObservableCollection<string>(myCollection);
tempCollection.Add("Extra element");
return tempCollection;
}
}
根据集合的大小和访问次数,这可能是编程上最简单的解决方案。如果您需要经常访问它,这个解决方案就会变得更糟,因为它每次都会创建一个新的集合。
在这种情况下,您可能应该收听 CollectionChanged 事件并保留一个单独的冗余列表。
我有一个组合框通过
绑定到一个可观察的集合cmbBladesTab1.ItemsSource = easyRunData.olstBlades;
效果很好。 我希望组合框绑定到所有值加一。
例如
easyRunData.olstBlades;
包含 "PL1", "PL2", "PL3", "PL4"
而 cmbBladesTab1
包含 "ALL BLADES", "PL1", "PL2", "PL3", "PL4"
--添加所有工作都必须从代码隐藏完成
感谢您的帮助。
最简单的方法是在可观察集合中添加一个带有前缀文本/键的额外项目。 这样,因为它在集合中,所以它将在组合框中可见,当用户选择该项目时,您可以评估它是否是添加的项目。
确实给出了一个很好的例子作为这个问题的答案add an item to combobox before bind data from data base
您可以添加 属性,将特定项目添加到列表中。
ObservableCollection<string> myCollection;
ObservableCollection<string> MyCollectionViewProp
{
get
{
var tempCollection = new ObservableCollection<string>(myCollection);
tempCollection.Add("Extra element");
return tempCollection;
}
}
根据集合的大小和访问次数,这可能是编程上最简单的解决方案。如果您需要经常访问它,这个解决方案就会变得更糟,因为它每次都会创建一个新的集合。 在这种情况下,您可能应该收听 CollectionChanged 事件并保留一个单独的冗余列表。