0

我有一个绑定到集合的 WPF DataGrid。我想使用复选框(行的第一列)为每一行输入/离开 EditMode。行已选中,行处于 EditMode ...行未选中,无编辑模式。

我怎样才能实现我的目标?

非常感谢

4

1 回答 1

1

正如您所说,您将数据网格绑定到对象集合(其中包含一些属性的类),因此只需像这样在您的类中创建一个可编辑的属性..

private bool _isEdiatble;
    public bool IsEdiatble
    {
        get
        {
            return _isEdiatble;
        }
        set
        {
            _isEdiatble = value;
            //   FirePropertyChanged("Name");
        }
    }

并将其绑定到您的每一行元素,如下所示..

 <DataGrid.Columns>
            <DataGridTemplateColumn >
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Grid >
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <TextBox Text="{Binding text}"  Grid.Column="0" IsReadOnly="{Binding IsEditable}" />
                            <CheckBox Grid.Column="1" IsChecked="{Binding IsEditable,mode=twoway , UpdateSourceTriggered = PropertyChanged }" />
                        </Grid>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>

还要确保你已经在你的类中实现了 INotifyPropertyChanged ..因为没有它它就无法工作..希望你明白我想要表达的意思..对于下面的任何查询评论..

于 2013-07-18T06:29:44.263 回答