如何使用mvvm在wpf中进行可编辑的数据网格?

时间:2013-10-29 04:15:21

标签: wpf mvvm datagrid

我想使用可编辑的数据网格来添加,编辑数据。用wpf可以吗?有人可以给出一个例子吗?

2 个答案:

答案 0 :(得分:16)

DataGrid控件具有内置的所有功能。您可以将属性CanUserAddRows设置为true以允许用户添加行。

默认情况下,

DataGrid是可编辑的,其中每列都有一个编辑控件,可让您编辑其值。默认情况下,DataGrid会自动为模型中的每个属性生成列,因此您甚至无需定义列的列。

以下是一些很好的链接,您可以查看详细的示例:

http://wpftutorial.net/DataGrid.html

http://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples

http://www.c-sharpcorner.com/UploadFile/mahesh/datagrid-in-wpf/

祝你好运

答案 1 :(得分:3)

有一个Xaml如下

<Window x:Class="DatGrid.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"
    xmlns:local="clr-namespace:DatGrid">
<Window.DataContext>
    <local:ViewModel/>
</Window.DataContext>
<StackPanel/>
    <DataGrid ItemsSource="{Binding Path=Values}"></DataGrid>
</StackPanel>
</Window>

在ViewModel中非常简单,如下面的

class ViewModel
{
    public ObservableCollection<Example> Values
    {
        get;
        set;
    }
}
public class Example
{
    public string A
    {
        get;
        set;
    }
    public string B
    {
        get;
        set;
    }
}

在视图中,您始终可以看到一个空行,您只需单击并键入内容,然后按Enter键即可更新到ViewModel