Привязать WPF DataGridComboBoxColumn к пользовательскому источнику - PullRequest
0 голосов
/ 31 мая 2011

У меня привязаны View и ViewModel (WPF / C #).

Теперь в DataGrid есть DataGridComboBoxColumn, и я хотел бы установить ItemsSource в комбоисправлено свойство ViewModel.К сожалению, неявный текстовый текст комбо является текущей строкой.

Все, что я хочу сделать, это "выйти" из DataContext текущей строки.

Спасибо за любой ответ ..

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Что я делаю, так это устанавливаю в окне значение DataContext вашей ViewModel, а затем делаю это:

<ComboBox ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=NodeNames}">
</ComboBox>

Это находит окно в дереве, а затем связывается со свойством для меня, которое называется NodeNames.

0 голосов
/ 31 мая 2011

Например, в моем проекте я привязываю comboBox к свойству из ViewModel следующим образом

<ComboBox Name="projectcomboBox" ItemsSource="{Binding Path=Projects}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="FullName"
              SelectedValuePath="Name"  SelectedIndex="0"  Grid.Row="1" Visibility="Visible" Canvas.Left="10" Canvas.Top="24" Margin="11,6,13,10">
    </ComboBox>

свойство

 public ObservableCollection<Project> Projects
    {
        get { return projects; }
        set
        {
            projects = value;
            RaisePropertyChanged("Projects");
        }
    }

важно установить свойства ItemsSource, DisplayMemberPath, SelectedValuePath. SelectedIndex вы также можете связать

...