2013-10-29 80 views
11

我是wpf的新手。我想使用可編輯的數據網格來添加,編輯數據。用wpf可以嗎?有人可以給這個例子提供鏈接嗎?如何使用mvvm在wpf中編輯數據網格?

感謝 SN

+0

爲什麼不呢? datagrid是爲此目的而精確製作​​的。這裏有一個很好的鏈接,讓你開始:http://wpftutorial.net/DataGrid.html – l46kok

+0

http://brentedwards.net/2012/03/11/wpf-datagridrow-double-click-with-mvvm/ –

回答

2

擁有的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> 

在視圖模型是很簡單的像下面

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

在視圖中,你總能看到一個空行的一些事情你可以點擊並鍵入一些東西,然後按回車,它會更新到ViewModel

+0

正在更新綁定的viewmodel屬性只是一個很小的值。編輯所需的一小部分。例如。怎麼樣的命令來堅持數據? – ProfK

15

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

我剛剛發現,如果你的'ItemSource'綁定到'IEnumerable'會導致數據不能被編輯,我把'IEnumerable'改成'List',那麼它可以被正確地編輯 –

相關問題