Свойство 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;}
}
Затем привяжите указатель даты, выпадающий список и сетку данных к соответствующим значениям.
Надеюсь это поможет.