ExtendedLibrary for WPF/Silverlight
クラスを連結する
PropertyGrid > タスク別ヘルプ > クラスを連結する

PropertyGrid for WPF/Silverlight を使用すると、このコントロールをクラスに簡単に連結できます。実行時は、C1PropertyGrid コントロールを使用して、クラス内の項目を参照および編集できます。たとえば、次のように定義されたプロジェクトに単純な Customer クラスを追加します。

コードのコピー
Private _Name As String
    Public Property Name() As String
        Get
            Return _Name
        End Get
       Set(ByVal value As String)
            _Name = value
        End Set
    End Property
Private _EMail As String
    Public Property EMail() As String
        Get
            Return _EMail
        End Get
        Set(ByVal value As String)
            _EMail = value
        End Set
    End Property
Private _Address As String
    Public Property Address() As String
        Get
            Return _Address
        End Get
        Set(ByVal value As String)
            _Address = value
        End Set
    End Property
Private _CustomerSince As DateTime
    Public Property CustomerSince() As DateTime
        Get
            Return _CustomerSince
        End Get
        Set(ByVal value As DateTime)
            _CustomerSince = value
        End Set
    End Property
Private _SendNewsletter As Boolean
    Public Property SendNewsletter() As Boolean
        Get
            Return _SendNewsletter
        End Get
        Set(ByVal value As Boolean)
            _SendNewsletter = value
        End Set
    End Property
Private _PointBalance As System.Nullable(Of Integer)
    Public Property PointBalance() As System.Nullable(Of Integer)
        Get
            Return _PointBalance
        End Get
        Set(ByVal value As System.Nullable(Of Integer))
            _PointBalance = value
        End Set
    End Property
End Class
コードのコピー
public class Customer
{
  public string Name { get; set; }
  public string EMail { get; set; }
  public string Address { get; set; }
  public DateTime CustomerSince { get; set; }
  public bool SendNewsletter { get; set; }
  public int? PointBalance { get; set; }
}

次のコードを使用して、顧客を表示および編集するためのユーザーインターフェイスを作成できます。

コードのコピー
Public Sub New()
    InitializeComponent()
       ' 参照するオブジェクトを作成します
    Dim customer = New Customer()
        ' C1PropertyGrid を作成します
    Dim pg = New C1PropertyGrid()
    LayoutRoot.Children.Add(pg)
        ' 顧客のプロパティを表示します
    pg.SelectedObject = customer
End Sub
コードのコピー
public Page()
{
  InitializeComponent();
  // 参照するオブジェクトを作成します
  var customer = new Customer();
  // C1PropertyGrid を作成します
  var pg = new C1PropertyGrid();
  LayoutRoot.Children.Add(pg);
  // 顧客のプロパティを表示します
  pg.SelectedObject = customer;
}

アプリケーションを実行し、結果のアプリケーションが次の図のように表示されていることを確認します。

この簡単な UI を使用して、ユーザーは Customer オブジェクトのすべてのプロパティを編集できます。この UI は、オブジェクトのプロパティに基づいて自動的に作成され、Customer クラスのプロパティが追加または変更されると自動的に更新されます。

デフォルトでは、プロパティはアルファベット順で表示されます。この設定は、PropertySort プロパティを設定することで変更できます。詳細については、「メンバのソート」を参照してください。