Как привязать выбранный элемент к модели с помощью инфраструктуры XamDataGrid? - PullRequest
3 голосов
/ 24 апреля 2009

У меня есть следующая модель:

public class Model : INotifyPropertyChanged 
{
  public ObservableCollection<ViewElement> Elements { get; set; }

  public ViewElement CurrentElement { get; set; }
}

И следующая сетка, в которой родительский элемент DataContext является вышеуказанной моделью:

<dg:XamDataGrid DataSource="{Binding Path=Elements}" />

Я хочу связать свойство CurrentElement с выбранным элементом сетки, аналогично тому, как я это сделал бы в ListView:

    <ListView x:Name="playbackSteps"
          ItemsSource="{Binding Path=Elements}"
          SelectedItem="{Binding Path=CurrentElement}" />

Как бы вы предложили мне это сделать?

1 Ответ

4 голосов
/ 24 апреля 2009

Как указано на форуме Infragistics , XamDataGrid предоставляет свойство IsSynchronizedWithCurrentItem. Чтобы воспользоваться этим, вам необходим ListCollectionView вашего ObservableCollection. Как то так:

public ListCollectionView ElementsView {get;set;}

// In the constructor:
this.ElementsView = new ListCollectionView(Elements);

Затем привяжите свой XamDataGrid к ElementsView.

...