我有一个绑定到GridView
的集合和另一个绑定到ComboBox
的集合。
我的ComboBox
位于单元格模板下,位于GridView的一行内。
每个集合都有一个选定的项目。一个用于GridView
,另一个用于ComboBox
。
当我选择ComboBox项目时,我想确保在通知我的ComboBox所选项目之前先通知所选行。
MVVM中的声音是否可行?
已添加代码:
视图模型
/// <summary>
/// Gets and sets selected row in datagrid
/// </summary>
public RowObject SelectedRow
{
get
{
return _selectedRow == null ? new RowObject() : _selectedRow;
}
set
{
_selectedRow = value;
NotifyPropertyChanged(() => SelectedRow);
}
}
/// <summary>
/// Gets and sets the selected combobox item.
/// </summary>
public ComboBoxObject SelectedComboboxItem
{
get
{
return (_selectedComboboxItem == null ? new ComboboxObject() : _selectedComboboxItem );
}
set
{
if (value == null) return;
if (value == _selectedComboboxItem ) return;
_selectedComboboxItem = value;
NotifyPropertyChanged(() => SelectedComboboxItem);
}
}
XAML
<DataGrid ItemsSource="{Binding CollectionOfRowObjects}"
SelectedItem="{Binding SelectedRow, Mode=TwoWay}">
INSIDE GRIDROW是一个COMBOBOX
<DataGridTemplateColumn Width="150" Header="Product">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding CollectionOfComboboxItem,
SelectedItem="{Binding SelectedComboboxItem >