none
Привязка WPF ComboBox к полю ADO.NET DataTable RRS feed

  • Вопрос

  • Есть WPF-приложение. В нем - окно. В окне - WrapPanel, в ней - Grid, в одной из ячеек грида - ComboBox. Свойство Items у комбобокса заполнено, в дизайн-тайме, простыми строками и не связано с источником данных. Вопрос в том, как связать с полем ADO.NET DataTable поле выбора комбобокса, т.е. его поле, в котором отбражается выбранный элемент. Пробовал делать:

    <ComboBox Grid.Row="1" Grid.Column="1" Name="myComboBox"
                                      SelectedItem="{Binding Path=myColumn, Mode=TwoWay}">

    или вот так:

    <ComboBox Grid.Row="1" Grid.Column="1" Name="myComboBox"
                                      SelectedValue="{Binding Path=myColumn, Mode=TwoWay}">

    В обоих случаях связка не выполняется. Правда, перед этим, я не проинициализировал свойства DataContext и ItemsSource у комбобокса именами датасета и дататейбла соответственно. Но свойство DataContext у WrapPanel, в которой находится грид с комбобоксом, я проинициализировал (в коде C#, в обработчике Window_Initialized) именем дататейбла, с полем которого я хочу связать поле выбора комбобокса. Может я что не так сделал? Подскажите кто-нибудь пожалуйста.

    • Перемещено I.Vorontsov 30 июня 2010 г. 11:22 (От:Технологии ADO.NET)
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:24 MSDN Forums consolidation (От:Разработка Windows-приложений)
    26 июня 2010 г. 7:04

Ответы

  • Нашел способ! Привязываю к источнику данных свойство Text комбобокса. Все работает. Ниже привожу то, как это делаю.

    <ComboBox Grid.Row="1" Grid.Column="1" Name="MyComboBox"
                                      Text="{Binding Path=MyDataColumn}" IsEditable="True">

    </ComboBox>

     

    • Помечено в качестве ответа I.Vorontsov 1 июля 2010 г. 7:18
    30 июня 2010 г. 18:30