WPF中的GridView是否支持行编辑功能

问题描述

希望在WPF的gridview中添加行编辑功能代码片段如下:

<ListView Margin="10" Name="lvUsers" Grid.Row="1">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name" Width="120" displayMemberBinding="{Binding Name}" />
            <GridViewColumn Header="Age" Width="50" displayMemberBinding="{Binding Age}"/>
            <GridViewColumn Header="Mail" Width="170">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Mail}" Textdecorations="Underline" Foreground="Blue" Cursor="Hand" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Grade" Width="60" displayMemberBinding="{Binding Grade}" />
        </GridView>
    </ListView.View>
</ListView>

我看过一些关于DataGrid的信息,但是如果有任何方法可以为gridview制作行编辑功能, 非常感谢。

解决方法

最简单的方法是将 TextBlock 更改为 TextBox

<DataTemplate>
    <TextBox Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />
</DataTemplate>

更好的方法是使用具有 DataGridCellTemplateCellEditingTemplate

<DataGrid>
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Mail">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...