2009-08-13 3 views
1

Есть ли способ установить начальное значение базы данных ComboBox в XAML?Инициализировать поле со списком WPF в XAML?

Вот мой 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", но ничего не произошло.

Вот действительно странная вещь. У меня есть полдюжины этих комбинированных ящиков в моем окне, все объявлено так же, как указано выше. Около половины из них показывают по умолчанию первое значение в своем перечислении, но остальные пустые. Я проверил, что все привязки работают - в каждом поле со списком отображается правильное раскрывающееся меню, когда я нажимаю на него.

Есть ли способ явно установить значение индекса по умолчанию для этих комбинированных полей? Есть ли причина, по которой некоторые комбинированные поля будут показывать значение по умолчанию, а другие - нет? Спасибо за вашу помощь.

Дэвид Veeneman
Foresight Systems

ответ

1

Найдено мой ответ - я с помощью поставщика данных объекта неправильно. Я создал ODP для каждого перечисления, которое мне нужно было связать с полем со списком, в результате чего несколько комбинированных ящиков были привязаны к одному и тому же ODP. Вот что вызвало проблему. Я изменил свои ODP, чтобы предоставить один ODP для каждого поля со списком (некоторые ODP читают одно и то же перечисление), и это решило проблему. Мои комбинированные поля теперь инициализируются должным образом.

Смежные вопросы