我在wpf c#应用程序中有一个组合框。
我想做的是以下内容。
我有一个未经选择的组合框,当你看到它时,我可以看到右边的箭头和左边的文字空间。出于这个问题的目的,我将这个文本称为“单元格文本”。
当您选择按钮时,它会显示一个列表。我希望此列表包含我的GUI / PC可以连接的许多机器人。当我选择一个机器人时,会向该机器人发送一条消息,试图与其连接。
'单元格文本'我想显示当前连接的机器人的名称。将存在与所选机器人的连接不可能的情况,也可能需要5秒才能成功连接。
我需要做的是停止选择自动出现在“单元格文本”中,这可能吗?
由于
<ComboBox ItemsSource="{Binding MyRobotOptions}" Grid.Column="1" SelectedItem="{Binding SelectedRobot}" Margin="5"/>
答案 0 :(得分:0)
对于没有经验的用户(没有冒犯),最简单的方法之一是将TextBlock
覆盖在“单元格文本”上,如你所说:
<Grid>
<ComboBox ItemsSource="{Binding MyRobotOptions}" Grid.Column="1" SelectedItem="{
Binding SelectedRobot}" Margin="5" />
<TextBlock Text="{Binding YourSelectedRobotName}" Background="White"
Margin="0,0,24,0" />
</Grid>
我无法对此进行测试,因此您可能需要调整Margin
属性值以使其更适合,但它应隐藏原始文本值。
答案 1 :(得分:0)
我认为更好的解决方案是使用单独的连接状态指示器。例如,Combobox周围的彩色边框在连接时变为绿色,在断开连接时变为红色。这样你就不必打破每个人都假设的ComboBox的范例:当你选择某个东西时,它会立即在ComboBox中被选中。