如何绑定一个类到WPF AutoCompleteBox

本文关键字:WPF AutoCompleteBox 一个 何绑定 绑定 | 更新日期: 2023-09-27 18:04:28

我有一个这样的类:

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();

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

如何绑定一个类到WPF AutoCompleteBox

您可以使用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>

你可以在MyClass中重写ToString()方法,这样它将返回Title。