我有两个按钮和组合框:
<Button Click="Btn2_Click"/>
<Button Click="Btn_Click"/>
<ComboBox x:Name="myCombo" IsEditable="True" IsReadOnly="True" Text="-- Choose --" SelectionChanged="MyCombo_SelectionChanged"/>
该类如下:
private List<string> lst;
public Page2()
{
InitializeComponent();
lst = new List<string>();
myCombo.ItemsSource = lst; //set the combobox itemsource to the list content
}
private void Btn_Click(object sender, RoutedEventArgs e)
{
//clear all from list and from combobox
lst.Clear();
if (myCombo.Items.Count > 0)
myCombo.Items.Clear();
for(int i=0;i<10;i++)
lst.Add(i.ToString());//add some content to the list
}
private void Btn2_Click(object sender, RoutedEventArgs e)
{
//clear all from list and from combobox
lst.Clear();
if (myCombo.Items.Count > 0)
myCombo.Items.Clear();
for(int i=10;i<20;i++) //add some other content to the list
lst.Add(i.ToString());
}
我的问题:当我单击btn1时,我会在组合框中看到值0,1,...9
,如果我单击btn2之后,仍会看到相同的0,1,...9
值。
这不是我想要的,当我单击btn2时,我想要在组合框10,11,...,19
中,
我想念什么?
答案 0 :(得分:0)
将List<string>
替换为ObservableCollection<string>
您已经将myCombo.ItemsSource
设置为lst,因此也无需手动更新其Items
。只需添加/清除第一个集合,控件就会自动更新。