繁体   English   中英

如何将组合框的选定值设置为字符串值

[英]How to set the selected value of a combobox to a string value

我已经花了一段时间寻找答案,但是到目前为止,我还没有发现任何对我有用的东西。 我有一个将组合框的内容保存到数据库的系统。 当我从数据库取回内容时,我正在尝试将组合框的选定项设置为从数据库返回的项。 例如:XAML:

<ComboBox SelectedValuePath="Content" x:Name="cmbMyCmb" SelectedIndex="0" SelectionChanged="cmbMyCmb_SelectionChanged">
      <ComboBoxItem Content="Please Select"/>
      <ComboBoxItem Content="Item 1"/>
      <ComboBoxItem Content="Item 2"/>
      <ComboBoxItem Content="Item 3"/>
</ComboBox>

背后的代码:

cmbMyCmb.SelectedValue = itemFromDatabase;

如果我显示itemFromDatabase它将显示“ Item 2”,它是一个字符串。

我在表单上拥有的是输入表单和数据网格。 从数据网格中选择一个项目后,我希望这些项目显示在输入表单中,以便可以对其进行编辑和更新。 我还有其他所有显示项,我只需要此组合框即可将所选值设置为数据库中的字符串。

消除组合定义中的SelectedIndex="0" ,然后尝试以下操作:

 <ComboBox x:Name="cmbMyCmb" SelectedValuePath="Content" SelectionChanged="cmbMyCmb_SelectionChanged" Margin="99,104,117.4,157.8">
        <ComboBoxItem Content="Please Select"/>
        <ComboBoxItem Content="Item 1"/>
        <ComboBoxItem Content="Item 2"/>
        <ComboBoxItem Content="Item 3"/>
    </ComboBox>

后面的代码:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        //get item from database here
        string itemFromDatabase = "Item 2";

        cmbMyCmb.SelectedValue = itemFromDatabase;
    }

在此处输入图片说明

请注意,我正在Loaded事件中进行操作,以作为有关如何更改的示例。 如果在SelectionChanged事件中执行此操作,则结果是无论用户选择什么,后面的代码都会将其恢复为所需的任何值,这没有任何意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM