无法设置所选值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法设置所选值相关的知识,希望对你有一定的参考价值。

我有一个组合框从一些扫描功能获取其项目。

如果用户选择一个元素,则在下一次应该选择用户选择的项目(如果它出现在扫描功能输出上)。问题是我无法选择它。

这是ComboBox的声明:

<ComboBox Grid.Column="1" Grid.Row="0" Margin="5" Name="SerialPortNames" Text="{Binding Name}" IsEditable="False"/>

在这里我到目前为止尝试过:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    string portNameSetting = Settings.Default["SerialPortName"].ToString();

    SerialPortNames.ItemsSource = SerialPort.GetPortNames();

    foreach (string SerialPortNameItem in SerialPortNames.Items)
    {
        if (SerialPortNameItem == portNameSetting)
        {
            SerialPortNames.Text = SerialPortNameItem; // why this is not working
            break;
        }
    }
}

通过调试这个,我得到了在组合框中选择的项目,但似乎有些东西覆盖它并且它是空的!

答案

在您的代码中,您绑定Text属性并从后面的代码设置它

从组合框中删除Text =“{Binding Name}”

 <ComboBox  Width="200" Height="200" Grid.Column="1" Grid.Row="0" Margin="5" Name="SerialPortNames"  IsEditable="False"/>

以上是关于无法设置所选值的主要内容,如果未能解决你的问题,请参考以下文章

Html.DropdownListFor 未设置所选值

Android微调器使用XML进行数据绑定并显示所选值

MFC组合框控件下拉列表式如何读取所选值和设置默认选项

从下拉列表中更新所选值的 mysql 记录

ReactJS Reactstrap 输入下拉菜单未显示所选值

在表中插入记录时将所选值作为城市下拉列表的空值