【问题标题】:Display default text in combobox not working在组合框中显示默认文本不起作用
【发布时间】:2013-08-18 15:20:13
【问题描述】:

我正在使用 WPF。我一直在努力解决这个问题。我试图遵循谷歌的一些建议,但它对我不起作用。我无法设法在组合框中默认“--Select Car--”。我试图把 Text="--Select Cars--" IsEditable="True" IsReadOnly="True" 这不起作用。它仍然默认显示“Toyota”。看下面:

<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>

非常感谢您的代码帮助!

【问题讨论】:

标签: c# wpf combobox


【解决方案1】:

这对我有用:

<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>

【讨论】:

  • 是的,我也这样做了。它仍然无法正常工作。我想也许css可能会影响它。你不这么认为吗?
  • CSS 是什么意思? XAML 资源和样式?
  • IsSynchronizedWithCurrentItem 属性为我打破了它!你真的需要它吗?
  • 我刚刚删除了 CSS。结果还是一样。我不明白为什么无法显示默认文本。
  • 是的,您对 IsSynchronizedWithCurrentItem 的看法是正确的。一旦我删除它,它就可以工作了。呸!!!我不记得我为什么添加它了,哈哈。非常感谢
猜你喜欢
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
相关资源
最近更新 更多