如何确保在网格单元格内的组合框选定项目之前首先通知选定项目的网格选择

时间:2013-10-08 07:30:58

标签: c# wpf mvvm binding

我有一个绑定到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 >

0 个答案:

没有答案