Свойство MVVM для источника данных сетки данных

У меня есть сетка данных, у которой itemsSource связан с мультиконвертером, который использует конвертер.

<toolkit:DataGrid AutoGenerateColumns="False">
        <toolkit:DataGrid.ItemsSource>
            <MultiBinding Converter="{StaticResource ProfileConverter}">
                <Binding ElementName="ComboBoxProfiles" Path="SelectedValue" />
                <Binding ElementName="DatePickerTargetDate" Path="SelectedDate" />                   
            </MultiBinding>
        </toolkit:DataGrid.ItemsSource>

Это хорошо, потому что itemsSource сетки обновляется всякий раз, когда поле со списком или указатель даты изменяет значение.

Теперь у меня проблема в том, что в моей ViewModel я хочу иметь доступ к ItemSource моей таблицы данных и либо удалять элементы для списка, либо добавлять новые.

Как мне получить доступ к элементу источника, когда он настроен так?

Большое спасибо.

1 ответ

Решение

Как насчет трех свойств в ViewModel:

public DateTime? SelectedDate
{
    get{return _selectedDate;}
    set
    { 
         _selectedDate = value;
         UpdateItemsSource();
         OnPropertyChanged("SelectedDate");
    }
}
public object SelectedComboBoxValue
{
    get{return _selectedComboBoxValue;}
    set
    { 
         _selectedComboBoxValue= value;
         UpdateItemsSource();
         OnPropertyChanged("SelectedComboBoxValue");
    }
 }
 private void UpdateItemsSource()
 { 
    _itemsSource = //Some fancy expression based on the two fields.
    OnPropertyChanged("ItemsSource");
 }
 public IEnumerable ItemsSource
 {
     get{return _itemsSource;}
 }

Затем привяжите указатель даты, выпадающий список и сетку данных к соответствующим значениям.

Надеюсь это поможет.

Другие вопросы по тегам