wpf combobox默认行为

时间:2013-10-10 20:42:59

标签: c# wpf combobox

我在wpf c#应用程序中有一个组合框。

我想做的是以下内容。

我有一个未经选择的组合框,当你看到它时,我可以看到右边的箭头和左边的文字空间。出于这个问题的目的,我将这个文本称为“单元格文本”。

当您选择按钮时,它会显示一个列表。我希望此列表包含我的GUI / PC可以连接的许多机器人。当我选择一个机器人时,会向该机器人发送一条消息,试图与其连接。

'单元格文本'我想显示当前连接的机器人的名称。将存在与所选机器人的连接不可能的情况,也可能需要5秒才能成功连接。

我需要做的是停止选择自动出现在“单元格文本”中,这可能吗?

由于

<ComboBox ItemsSource="{Binding MyRobotOptions}" Grid.Column="1" SelectedItem="{Binding SelectedRobot}" Margin="5"/>

2 个答案:

答案 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中被选中。