我有一个组合框,它从某些扫描功能获取其项。
如果用户选择一个元素,则下次应选择用户选择的项目(如果它出现在扫描功能输出中)。问题是我无法选择它。
这是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;
}
}
}
通过调试,我在组合框中选择了项目,但似乎有些东西将其覆盖,并且为空!
答案 0 :(得分:0)
在您的代码中,您绑定了Text属性,并从后面的代码中进行设置
从组合框中删除文本=“ {Binding Name}”
<ComboBox Width="200" Height="200" Grid.Column="1" Grid.Row="0" Margin="5" Name="SerialPortNames" IsEditable="False"/>