我有一个 WPF 自动完成框,它填充了从数据库中查询的 Organization_Names 列表。现在,当用户从自动完成框下拉列表中选择组织名称时,我想获取 Organization_ID。我可以再次查询数据库以根据所选的 Organization_Name 获取 ID,但我认为有更好的方法。如何在下拉列表中添加一个不可见的列,使其不会显示但我可以获得它的值?我对 WPF 很陌生。任何帮助,将不胜感激。
谢谢,亚历克斯
您可以将自动完成框绑定到对象。
class MyClass
{
public int Organization_ID{ get; set; }
public string Organization_Names{ get; set; }
}
<controls:AutoCompleteBox x:Name="autoCompleteBox1"
SelectionChanged="autoCompleteBox1_SelectionChanged"
FilterMode="Contains"
IsTextCompletionEnabled="True">
<controls:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Organization_Names}" />
</DataTemplate>
</controls:AutoCompleteBox.ItemTemplate>
</controls:AutoCompleteBox>
private void autoCompleteBox1_SelectionChanged(object sender, RoutedEventArgs e)
{
MessageBox.Show(((MyClass)autoCompleteBox1.SelectedItem).Organization_ID);
}