1

我有一个 WPF 自动完成框,它填充了从数据库中查询的 Organization_Names 列表。现在,当用户从自动完成框下拉列表中选择组织名称时,我想获取 Organization_ID。我可以再次查询数据库以根据所选的 Organization_Name 获取 ID,但我认为有更好的方法。如何在下拉列表中添加一个不可见的列,使其不会显示但我可以获得它的值?我对 WPF 很陌生。任何帮助,将不胜感激。

谢谢,亚历克斯

4

1 回答 1

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);
}
于 2013-10-22T20:59:53.380 回答