2013-06-11 5 views
0

Я искал в Интернете решение проблемы, которую у меня есть. В основном я хочу, чтобы выбрать элемент на сетке, и что необходимо обновить несколько текстовых полей (не проблема) и выпадающий (а кошмар)Обновить значение/элемент для combobox после выбора элемента datagrid

Пожалуйста увидеть фрагмент кода для выпадающего списка (& Textboxes) ниже:

<TextBox Text="{Binding SelectedStudy.Description, Mode=TwoWay}" Width="200" HorizontalAlignment="Left" /> 
    <ComboBox ItemsSource="{Binding ModalityTypes, Mode=TwoWay}" DisplayMemberPath="ModalityTypeCode" 
      SelectedItem="{Binding ElementName=_studyDataGrid, Path=SelectedItem.Modality, Mode=TwoWay}" SelectedValuePath="Modality" /> 
    <TextBox Text="{Binding SelectedStudy.Duration, Mode=TwoWay}" Width="200" HorizontalAlignment="Left"/> 

Мой Datagrid:

<sdk:DataGrid x:Name="_studyDataGrid" 
        Grid.Row="1" Grid.ColumnSpan="2" 
        ItemsSource="{Binding Studies, Mode=OneWay}" 
        AutoGenerateColumns="False" 
        IsReadOnly="True" 
        SelectionMode="Single" 
        SelectedItem="{Binding SelectedStudy, Mode=TwoWay}" 
        HorizontalScrollBarVisibility="Auto" 
        VerticalScrollBarVisibility="Auto" 
        Margin=" 5,5,5,5" 
        > 

Приведенный выше код не работает, то есть всякий раз, когда я нажимаю строку в DataGrid, выпадающий список не обновляется.

Я также попытался:

<ComboBox ItemsSource="{Binding ModalityTypes, Mode=TwoWay}" DisplayMemberPath="ModalityTypeCode" 
      SelectedValue="{Binding ElementName=_studyDataGrid, Path=SelectedItem.Modality, Mode=TwoWay}" SelectedValuePath="Modality" /> 

Я заблудился, какие идеи?

С уважением,

Erik

+0

ли "SelectedItem иметь действительный "ModalityType"? Если это так, вы должны быть в состоянии связать как это.

+0

Нет, у него нет, типы модальности - это другой список, чем выбранный элемент, который исходит из списка. Изучение, но значения одинаковы. Значение никогда не может быть исследование с несуществующим modalitytype –

ответ

0

Если я правильно понимаю, вы имеете в виду вы хотите, выбранное значение ComboBox для отображения DataGrid. Этого достаточно для ComboBox.SelectedValue = Cint (DataGrid.SelectedItems.Item (0) .FieldName) для добавления. Этот код Добавить в выбор DataGrid Измененное событие. Успехов

+0

Нет, я хочу, чтобы это было наоборот. Я хочу выбрать элемент из datagrid, а затем combobox должен быть заполнен с помощью datagrid.selecteditem. Я использую MVVM, поэтому я бы скорее не использовать код за файлом. –

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