В моем приложении WPF у меня есть UserControl, в котором есть два элемента управления AutoCompleteBox. Этот UserControl может появляться несколько раз на странице. Проблема в том, что при вводе в AutoCompleteBox выпадающий список не появляется. Я работаю с событием Population, и если я поставлю точку останова и перешагну через нее, я смогу ясно увидеть, что ItemsSource содержит элементы в нем, поэтому похоже, что он работает, за исключением того, что я фактически не вижу раскрывающийся список меню. Я следовал примеру кода на http://msdn.microsoft.com/en-us/library/dd795156%28v=VS.95%29.aspx. Что мне здесь не хватает?
XAML:
<my:AutoCompleteBox Name="acboxCoauthorName" Width="175" Unloaded="Control_Unloaded" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating">
<my:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=LastOrCompanyName}"/>
</DataTemplate>
</my:AutoCompleteBox.ItemTemplate>
</my:AutoCompleteBox>
C #:
private void acboxCoauthorName_Populating(object sender, PopulatingEventArgs e)
{
e.Cancel = true;
var query = from a in _context.Authors
where a.Display_Name.StartsWith(acboxCoauthorName.Text)
select a;
acboxCoauthorName.ItemsSource = ((ObjectQuery) query).Execute(MergeOption.OverwriteChanges);
acboxCoauthorName.PopulateComplete();
}
Пока мы на этом, я не могу связать объект, который находится в текстовом тексте, либо. Я попробовал метод привязки данных выше, или я выбрал более простой:
<my:AutoCompleteBox Name="acboxCoauthorName" Width="175" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating" Text="{Binding Path=LastOrCompanyName}">
Ни один из них не работал. Есть идеи?
РЕДАКТИРОВАТЬ: не говоря уже о второй части; Я установил неправильный объект как DataContext элемента управления.
Спасибо.