System.Windows.Controls.Inputのオートコンプリートボックスを希望どおりに機能させるのに問題があります。フィルタされたリストを表示するドロップダウンセクションを入力し始めると、バインドしているプロパティが表示されず、代わりにクラス名が表示されます。
したがって、以下の例では、「私の名前」を表示する代わりに「-」と入力すると、MyNamespace.Personが表示されます。ただし、オートコンプリートリストからアイテムを選択すると、テキストボックスにFullNameプロパティが表示されます。どこかに単純なオートコンプリートボックスプロパティがないのは確かですが、表示されません。
コード例:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
}
背後にあるxamlコードで、いくつかのPersonオブジェクトを作成してリストに保存し、そのリストをオートコンプリートボックスにバインドします
List<Person> people = new List<Person>();
people.Add(new Person { FirstName = "My", LastName = "Name" });
people.Add(new Person { FirstName = "Fernando", LastName = "Torres" });
acbNames.ItemsSource = people;
私のxaml:
<my:AutoCompleteBox Name="acbNames" ValueMemberPath="FullName" />
/ *「my」を入力すると、オートコンプリートは「MyName」ではなく「MyNamespace.Person」を表示しますが、リストからアイテムを選択すると「MyName」を表示します* /