Обновление автозаполнения списка? - PullRequest
0 голосов
/ 20 декабря 2011

Вечер всех, У меня есть базовый autocompletebox с использованием silverlight5. Цель состоит в том, чтобы иметь возможность искать в списке людей и удалять определенных людей из этого списка с помощью флажков выше. При событии флажка список изменяется, но это не отражается в autocompletebox.

.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;
    }

Множество поисков указывало на то, что мне приходилось много работать над более ранними версиями SliveLight, но сейчас я практически хожу кругами.

Может ли кто-нибудь указать мне правильное направление для получения этой функции?

1 Ответ

1 голос
/ 22 декабря 2011

Заменить List<string> на ObservableCollection<string>

Этот универсальный вызов вызывает CollectionChangedEvent, поэтому связанные элементы управления знают, что его нужно обновить.

...