在XAML中初始化一个WPF组合框?

问题描述:

有没有办法在XAML中设置数据绑定ComboBox的初始值?在XAML中初始化一个WPF组合框?

这里是我的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"/> 

ItemsSourceObjectDataProvider,从一个枚举得到的值。我想默认情况下在组合框中显示的枚举中的第一个值。我尝试设置SelectedIndex="0",但没有发生任何事情。

这是真的很奇怪的事情。我窗口中有六打组合框,全部以与上述相同的方式声明。其中大约一半在默认情况下显示其枚举中的第一个值,但其他值为空。我已验证所有绑定正在工作 - 每个组合框单击时显示正确的下拉列表。

有没有办法为这些组合框显式设置默认索引值?有没有什么理由一些组合框会默认显示一个值,而其他人不会?谢谢你的帮助。

大卫Veeneman
远见系统

找到我的答案 - 我用的是对象的数据提供者不正确。我为每个需要绑定到组合框的枚举创建了一个ODP,其结果是几个组合框绑定到相同的ODP。这就是导致这个问题的原因。我改变了我的ODP,为每个组合框提供一个ODP(一些ODP读取相同的枚举)并解决了问题。我的组合框现在可以正确初始化自己。