バージョン

セル設定のデータ項目プロパティへのバインド (xamDataGrid)

トピックの概要

目的

このトピックでは、 xamDataPresenter™ コントロールの CellBindings コレクション プロパティを使用して、セルの設定をデータ項目プロパティにバインドする方法を説明します。

前提条件

このトピックをより理解するために、以下のトピックを参照することをお勧めします。

トピック 目的

このセクションでは、Data Presenter Family のコントロールを構成する主要な要素を定義します。

このトピックでは、 xamDataGrid コントロールをページに追加する方法について説明します。

このセクションには、 xamDataGrid コントロールを使用してデータにアクセスする上で特に役立つトピックが記載されています。

このトピックの内容

このトピックは、以下のセクションで構成されます。

セル設定のデータ項目プロパティへのバインド

概要

CellBindings コレクション プロパティを使用すると、関連付けられたデータ項目から公開されたプロパティへのセル設定のバインドが容易になります。

データ項目プロパティにバインドする、すべてのフィールドのセル プロパティの CellBinding インスタンスを作成し、CellBindings コレクションに追加します。

注:

Note

CellBinding のコンテキストはセルの DataRecord であるため、構文「 DataItem.MyProperty 」を使用して、「MyProperty」という名前のデータ項目プロパティへのパスを指定します。

プロパティ設定

以下の表は、任意の構成とそれを管理するプロパティ設定のマップを示します。

目的: 使用するプロパティ: 設定値:

フィールドのセルのコレクションの MVVM プロパティへのバインドの構成

CellBinding がセルの CellValuePresenter 内の ValueEditor インスタンスをターゲットにするよう指定

Editor

CellBinding がセルの CellValuePresenter をターゲットにするよう指定

CellValuePresenter

バインドするターゲットのプロパティ名の指定

string

このプロパティは、非読み取り専用の DependencyProperty にする必要があります。

実際のバインディング マークアップの指定

BindingBase

以下のスクリーンショットは、以下の CellBinding の設定の結果、フィールドのセルの外観がどのようになるかを示しています。

プロパティ

CellValuePresenter

Foreground

{Binding Path=DataItem.Color}

Binding Cell Settings to MVVM properties 1.png

以下のコードはこの例を実装します。

C# の場合:

public class Car : INotifyPropertyChanged
{
    private string _make;
    public string Make
    {
        get { return _make; }
        set
        {
            if (_make != value)
            {
                _make = value;
                NotifyPropertyChanged("Make");
            }
        }
    }
    private Brush _color;
    public Brush Color
    {
        get { return _color; }
        set
        {
            if (_color != value)
            {
                _color = value;
                NotifyPropertyChanged("Color");
            }
        }
    }
    #region INotifyPropertyChanged Members
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }
    #endregion
}

XAML の場合:

<igDP:XamDataGrid x:Name="XamDataGrid1"
                  DataSource="{Binding Path=Cars}">
    <igDP:XamDataGrid.FieldLayoutSettings>
        <igDP:FieldLayoutSettings AutoGenerateFields="False" />
    </igDP:XamDataGrid.FieldLayoutSettings>
    <igDP:XamDataGrid.FieldLayouts>
        <igDP:FieldLayout>
            <igDP:FieldLayout.Fields>
                <igDP:TextField Name="Make">
                    <igDP:TextField.CellBindings>
                        <igDP:CellBinding Property="Foreground"
                                          Target="CellValuePresenter"
                                          Binding="{Binding Path=DataItem.Color}" />
                    </igDP:TextField.CellBindings>
                </igDP:TextField>
            </igDP:FieldLayout.Fields>
        </igDP:FieldLayout>
    </igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>

関連コンテンツ

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックでは、 xamDataPresenter コントロールを XmlDataProvider にデータ バインドして、XML ファイルをアプリケーションのプレゼンテーション レイヤーに公開する方法を説明します。

このトピックでは、 xamDataPresenter コントロールを ObjectDataProvider にデータ バインドして、コレクションをアプリケーションのプレゼンテーション レイヤーに公開する方法を説明します。

このトピックでは、 xamDataPresenter コントロールを DataSet にデータ バインドする方法を説明します。

このトピックでは、 xamDataPresenter コントロールの FieldBinding マークアップ拡張子を使用して、Field、FieldSettings、FieldLayout および FieldLayoutSettings を MVVM プロパティにバインドする方法を説明します。

このトピックでは、データ項目に対応する DataRecord オブジェクトを検索する方法を説明します。

このトピックでは、 xamDataPresenter コントロールの DataItems コレクションにデータ項目を直接追加する方法を説明します。

このトピックでは、 xamDataPresenter コントロールによる階層データの表示方法を説明します。

このトピックでは、フィールドに画像を表示し、CellValuePresenter のテンプレートをオーバーライドする方法を説明します。

このトピックでは、レコードのネストされた構造を反復する方法および発生するレコード タイプの種類を説明します。