在组合框中显示默认文本不起作用

时间:2013-08-18 15:20:14

标签: c# wpf combobox

我正在使用WPF。我一直在努力解决这个问题。我试图从谷歌的几个建议,但它不适合我。我无法在组合框中默认“ - 选择汽车 - ”。我试图把Text =“ - 选择汽车 - ”IsEditable =“True”IsReadOnly =“True”这是行不通的。它仍然默认显示“丰田”。请看下面这里:

<DockPanel xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <DockPanel.Resources>
        <x:Array Type="{x:Type sys:String}" x:Key="cmbCarListItems">
            <sys:String>Toyota</sys:String>
            <sys:String>Kia</sys:String>
            <sys:String>Audi</sys:String>
        </x:Array>
    </DockPanel.Resources>
    <ComboBox Name="cmbCarList" 
              Text="--Select Cars--" 
              IsEditable="True"
              Cursor="Hand" 
              IsSynchronizedWithCurrentItem="True" 
              ItemsSource="{StaticResource cmbCarListItems}" 
              SelectionChanged="cmbCarList_SelectionChanged">
    </ComboBox>
</DockPanel>

您的代码非常感谢!!

1 个答案:

答案 0 :(得分:2)

这对我有用:

<Grid>

    <Grid.Resources>
        <x:Array Type="{x:Type sys:String}" x:Key="cmbCarListItems">
            <sys:String>Toyota</sys:String>
            <sys:String>Kia</sys:String>
            <sys:String>Audi</sys:String>
        </x:Array>
    </Grid.Resources>

    <!-- Not using IsSynchronizedWithCurrentItem="True" -->
    <ComboBox Name="cmbCarList" 
              Text="--Select Cars--" 
              IsEditable="True"
              Cursor="Hand"
              ItemsSource="{StaticResource cmbCarListItems}"  
              SelectionChanged="cmbCarList_SelectionChanged">
    </ComboBox>

</Grid>