加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将列表绑定到组合框

发布时间:2020-12-15 19:44:52 所属栏目:百科 来源:网络整理
导读:我有一个字符串列表. 我想用一个字符串列表填充一个组合框.我该怎么做呢? 我所有的尝试和搜索都是死路一条. 我用了: ComboBox Name="comboBox2" ItemsSource="{Binding Combobox2items}" / public partial class EditRule : Window{ public ObservableColl
我有一个字符串列表.
我想用一个字符串列表填充一个组合框.我该怎么做呢?
我所有的尝试和搜索都是死路一条.

我用了:

<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}”没有?

解决方法

您可以通过2种方式填充ComboBox,实际上是每个ItemsControl.

第一步:直接添加项目,它在Code或Xaml中工作

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

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

举个例子,假设你的xaml中有一个窗口和一个组合框. Combobox获得x:Name =“myCombobox”

在您的代码中,您可以创建List并将其设置为ItemsSource

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

这很好,但有一个问题.如果在将其设置为ItemsSource后更改List,则UI将无法跟上最新的更改.因此,为了使其工作,您需要使用ObservableCollection,现在集合可以通知UI将要监听的任何更改.并自动将新项添加到组合框中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读