web-dev-qa-db-ja.com

mvvmを使用してwpfで編集可能なデータグリッドを行う方法

編集可能なデータグリッドを使用して、データを追加、編集したい。 WPFでそれは可能ですか?誰かが例を示すことができますか?

13
SNS

DataGrid コントロールには、すべての機能が組み込まれています。プロパティ CanUserAddRows をtrueに設定して、ユーザーが行を追加できるようにすることができます。

DataGridはデフォルトで編集可能です。各列には、その値を編集できる編集コントロールがあります。デフォルトでは、DataGridModelのすべてのプロパティの列を自動的に生成するため、列を定義する必要すらありません。

あなたが調査できる詳細な例とのいくつかの良いリンクはここにあります:

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/

幸運を

20
Omri Btian

以下の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に更新されます。

3
Kumareshan