所有晚上, 我有一个使用silverlight5的基本自动完成框。 目的是能够通过上面的复选框搜索人员列表并从该列表中删除某些人。 在复选框事件中,列表已被修改,但这不会反映在自动完成框中。
的.xaml:
<StackPanel Orientation="Vertical" x:Name="LayoutRoot" Background="Transparent">
<sdk:Label Content="Filter By:" FontSize="12" Name="label1" Margin="10,10,10,5" />
<CheckBox Content="Students" Height="16" Name="checkBox1" Margin="10,5,10,0" Checked="checkBox1_Checked" Unchecked="checkBox1_Checked"/>
<CheckBox Content="Staff" Height="16" Name="checkBox2" Margin="10,5,10,0" Checked="checkBox2_Checked" Unchecked="checkBox2_Checked"/>
<CheckBox Content="Guest" Height="16" Name="checkBox3" Margin="10,5,10,10" Checked="checkBox3_Checked" Unchecked="checkBox3_Checked"/>
<sdk:AutoCompleteBox x:Name="peoplelist"/>
</StackPanel>
代码背后:
public CustomerFilterControl()
{
InitializeComponent();
//_viewModel.Initialize(); initial loading of context data, populate dropdowns etc
people.Add("Student 1");
//.....................add more
peoplelist.Itemssource = people;
}
复选框方法:
private void checklist()
{
if (checkBox1.IsChecked.Value)
{
people.Clear();
people.Add("Guest 1");
//.................... add more
peoplelist.DataContext = people;
}
很多搜索都指出我为早期版本的灯光做了很多工作,但此时我几乎已经绕圈子了。
有人能指出我正确的方向来实现这项功能吗?
答案 0 :(得分:1)
将List<string>
替换为ObservableCollection<string>
这个泛型引发了CollectionChangedEvent,因此绑定控件知道它们需要更新。