【问题标题】:Initialize a WPF combo box in XAML?在 XAML 中初始化 WPF 组合框?
【发布时间】:2010-11-19 07:58:00
【问题描述】:

有没有办法在 XAML 中设置数据绑定 ComboBox 的初始值?

这是我的ComboBox

<ComboBox 
    IsSynchronizedWithCurrentItem="True" 
    ItemsSource="{Binding Source={StaticResource NHibernateTypes}}"
    SelectedValue="{Binding ElementName=IdentifierPoperty, Path=PropertyType}"
    HorizontalAlignment="Stretch" 
    VerticalAlignment="Top" 
    Grid.Row="1" 
    Grid.Column="1" 
    Margin="0,5,10,0"/>

ItemsSource 是一个从枚举中获取值的ObjectDataProvider。我希望枚举中的第一个值默认显示在组合框中。我尝试设置SelectedIndex="0",但没有任何反应。

这真的很奇怪。我的窗口中有六个这样的组合框,都以与上面相同的方式声明。默认情况下,其中大约一半显示其枚举中的第一个值,但其他为空白。我已验证所有绑定都正常工作——当我单击每个组合框时,它都会显示正确的下拉列表。

有没有办法为这些组合框显式设置默认索引值?是否有任何理由某些组合框会默认显示一个值而其他组合框不显示?感谢您的帮助。

大卫·维尼曼
远见系统

【问题讨论】:

    标签: wpf xaml data-binding combobox


    【解决方案1】:

    找到我的答案——我错误地使用了对象数据提供程序。我为每个需要绑定到组合框的枚举创建了一个 ODP,结果是多个组合框绑定到同一个 ODP。这就是造成问题的原因。我更改了我的 ODP,为每个组合框提供一个 ODP(一些 ODP 读取相同的枚举),这解决了问题。我的组合框现在可以正确初始化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      相关资源
      最近更新 更多