Я работаю с AutoCompleteBox из WP7 Silverlight Toolkit.Я видел примеры, где они связывают статический список (неизменяемый список) строк с AutoCompleteBox.Тем не менее, есть ли пример, показывающий, как связывать AutoCompleteBox более динамичным способом?моя попытка ниже продолжает выдавать InvalidOperationException: не удается изменить ObservableCollection во время события CollectionChanged или PropertyChanged.
это то, что у меня есть в моем xaml.
<toolkit:AutoCompleteBox x:Name="tbQuery" TextChanged="tbQuery_TextChanged" />
в моем коде позади, у меня естьИмитировал переход к базе данных или через Интернет следующим образом.
private void tbQuery_TextChanged(object sender, RoutedEventArgs e)
{
AutoCompleteBox acBox = sender as AutoCompleteBox;
string txt = acBox.Text;
if (txt.Length > 0)
{
//exception thrown below here;
//_words is of type ObservableCollection<string>
//earlier, acBox.ItemsSource was set to _words
_words.Clear();
_words.Add(txt + "a");
_words.Add(txt + "b");
_words.Add(txt + "c");
}
}
Я также попробовал что-то вроде того, что ниже, но это не сработало.выдается то же самое исключение InvalidOperationException.
private void tbQuery_TextChanged(object sender, RoutedEventArgs e)
{
AutoCompleteBox acBox = sender as AutoCompleteBox;
string txt = acBox.Text;
if (txt.Length > 0)
{
List<string> list = new List<string>();
list.Add(txt + "a");
list.Add(txt + "b");
list.Add(txt + "c");
//exception thrown below here;
acBox.ItemsSource = list;
}
}
демонстрация в наборе инструментов показывает только использование статического ресурса, а большинство примеров показывают только со статическим списком.это потому, что AutoCompleteBox не должен использоваться динамически?