1

我有这样的课:

class MyClass
{
    public int ID{ get; set; }
    public string Title{ get; set; }
}

目前我将它绑定到 AutoCompleteBox 像这样:

List<MyClass> lstMyClass = new List<MyClass>();
lstMyClass = context.Sometable;
autoCompleteBox1.ItemsSource = lstMyClass;
autoCompleteBox1.ValueMemberPath = "Title";
autoCompleteBox1.PopulateComplete();

它按标题查找对象,但在自动完成部分它显示类定义而不是项目标题。任何的想法?

4

2 回答 2

3

您可以使用ItemTemplate( msdn )。

<controls:AutoCompleteBox x:Name="autoCompleteBox1"        
      FilterMode="Contains"              
      IsTextCompletionEnabled="True">
    <controls:AutoCompleteBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Title}" />
        </DataTemplate>
    </controls:AutoCompleteBox.ItemTemplate>
</controls:AutoCompleteBox>
于 2013-03-17T20:40:00.210 回答
1

您可以覆盖 MyClass 中的 ToString() 方法,以便它返回 Title。

于 2013-03-17T20:29:19.190 回答