gpt4 book ai didi

c# - 将 List 绑定(bind)到组合框

转载 作者:行者123 更新时间:2023-11-30 13:11:32 24 4
gpt4 key购买 nike

我有一个字符串列表。我想用字符串列表填充一个组合框。我该怎么做呢?我所有的尝试和搜索都是死路一条。

我用过:

<ComboBox  Name="comboBox2" ItemsSource="{Binding Combobox2items}" />
public partial class EditRule : Window
{
public ObservableCollection<string> Combobox2items { get; set; }

public EditRule()
{
InitializeComponent();
Combobox2items = new ObservableCollection<string>();
Combobox2items.Add("DFd");

}}

编辑:添加 Combobox2items.ItemsSource = Combobox2items;有效,但为什么 ItemsSource="{Binding Combobox2items}"无效?

最佳答案

您可以通过两种方式弹出组合框,实际上是每个 ItemsControl。

首先:直接向其中添加Items,这在代码或Xaml中都有效

<ComboBox>
<ComboBoxItem Name="Item1" />
<ComboBoxItem Name="Item2" />
</ComboBox>

但这是相当静态的。第二种方法使用动态列表。

例如,假设您的 xaml 中有一个窗口和一个组合框。组合框获取 x:Name="myCombobox"

在后面的代码中,您可以创建列表并将其设置为 ItemsSource

List<string> myItemsCollection = new List<string>();
public Window1()
{
InitializeComponent();
myItemsCollection.Add("Item1");
myCombobox.ItemsSource = myItemsCollection;
}

这工作正常,但有一个问题。如果在将列表设置为 ItemsSource 后更改列表,UI 将不会 catch 最新的更改。因此,要使其同样有效,您需要使用 ObservableCollection,现在该集合可以通知 UI 将监听的任何更改。并自动将新项目添加到组合框中。

关于c# - 将 List<string> 绑定(bind)到组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7025234/

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