【问题标题】:WPF Toolkit AutoCompleteBox dropdown doesn't appearWPF Toolkit AutoCompleteBox 下拉菜单不出现
【发布时间】: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 中的对象进行数据绑定。我尝试了上面的数据绑定方法,或者我选择了更简单的方法:

&lt;my:AutoCompleteBox Name="acboxCoauthorName" Width="175" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating" Text="{Binding Path=LastOrCompanyName}"&gt;

这些都不起作用。有什么想法吗?

编辑:不要介意第二部分;我将错误的对象设置为控件的 DataContext。

谢谢。

【问题讨论】:

    标签: wpftoolkit autocompletebox


    【解决方案1】:

    如果您在 ItemSource 中看到东西,应该没问题...

    尝试将 MinimumPrefixLength 设置为 0,以便即使未进行过滤也会显示弹出窗口,以便您查看列表包含的内容。还要确保你设置了过滤器,这样你就知道你正在使用什么过滤器。

    【讨论】:

      【解决方案2】:

      我对 WPF 很陌生,遇到了同样的问题。

      我也是按照微软的模板来添加这个控件的。

      搜索了大约一个小时后,silverlight 论坛(http://forums.silverlight.net/t/178152.aspx/1) 给出了建议:

      尝试将 FilterMode="None" 添加到 XAML

      为我工作,也许他们在编写原始示例后更改了默认值,或者也许对 WPF 和这个特定控件有更多了解的人可以进一步澄清(我只是很高兴停止拉扯我的头发)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 2017-10-18
        • 2019-08-25
        • 1970-01-01
        • 2014-03-25
        • 2021-12-03
        • 1970-01-01
        相关资源
        最近更新 更多