我有一个WPF自动完成框,它填充了从数据库查询的Organization_Names列表。现在,当用户从autocompletebox下拉列表中选择组织名称时,我想获取Organization_ID。我可以再次查询数据库以获取基于所选Organization_Name的ID,但我认为有更好的方法。如何在下拉列表中添加一个不可见的列,以便它不会显示,但我可以得到它的值?我是WPF的新手。任何帮助将不胜感激。
谢谢, 亚历
答案 0 :(得分:1)
您可以将自动填充框绑定到对象。
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);
}