我有一个绑定到 a 的GridView
集合和另一个绑定到 a 的集合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}">
GRIDROW 内部是一个组合框
<DataGridTemplateColumn Width="150" Header="Product">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding CollectionOfComboboxItem,
SelectedItem="{Binding SelectedComboboxItem >