【发布时间】:2011-07-01 02:57:49
【问题描述】:
在我的 WPF 应用程序中,我有一个 UserControl,其中包含两个 AutoCompleteBox 控件。此 UserControl 可以在一个页面上出现多次。问题是在 AutoCompleteBox 中键入时,选项下拉菜单不会出现。我正在处理 Populating 事件,如果我在其中放置一个断点并单步执行,我可以清楚地看到 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();
}
当我们这样做时,我似乎也无法对 datacontext 中的对象进行数据绑定。我尝试了上面的数据绑定方法,或者我选择了更简单的方法:
<my:AutoCompleteBox Name="acboxCoauthorName" Width="175" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating" Text="{Binding Path=LastOrCompanyName}">
这些都不起作用。有什么想法吗?
编辑:不要介意第二部分;我将错误的对象设置为控件的 DataContext。
谢谢。
【问题讨论】:
标签: wpftoolkit autocompletebox