Microsoft の標準 PropertyGrid コントロールと同様に、WPFのPropertyGrid コントロールは SelectedObject プロパティに基づいて動作します。このプロパティを設定すると、コントロールにはオブジェクトのパブリックプロパティが表示され、それらをユーザーが編集できるようになります。このクイックスタートでは、PropertyGridをWPFアプリケーションに追加して、PropertyGridコントロールの情報を表示および編集するためのUIを作成します。
To bind an object with PropertyGrid, follow these steps:
XAML |
コードのコピー
|
---|---|
<c1:C1PropertyGrid Margin="0,0,184,10" x:Name="propertyGrid"></c1:C1PropertyGrid> |
C1PropertyGrid コントロールをカスタマイズして Button コントロールに接続するには、次の手順に従います。
XAML |
コードのコピー
|
---|---|
<c1:C1PropertyGrid Margin="0,0,184,10" x:Name="propertyGrid" PropertySort="CategorizedAlphabetical" AutoGenerateProperties="False" SelectedObject="{Binding ElementName=TextButton, Mode=OneWay}" EditorWidth="60" Grid.RowSpan="2"> <c1:C1PropertyGrid.PropertyAttributes> <c1:PropertyAttribute Category="Appearance" DisplayName="Background Color" MemberName="Background" /> <c1:PropertyAttribute Category="Appearance" DisplayName="Border Color" MemberName="BorderBrush"/> <c1:PropertyAttribute Category="Appearance" DisplayName="Visibility" MemberName="Visibility" /> <c1:PropertyAttribute Category="Size" DisplayName="Button Height" MemberName="Height" /> <c1:PropertyAttribute Category="Size" DisplayName="Button Width" MemberName="Width" /> <c1:PropertyAttribute Category="Text" DisplayName="Button Text" MemberName="Content" /> <c1:PropertyAttribute Category="Text" DisplayName="Text Color" MemberName="Foreground" /> <c1:PropertyAttribute Category="Text" DisplayName="Text Size" MemberName="FontSize" /> </c1:C1PropertyGrid.PropertyAttributes> </c1:C1PropertyGrid> |
デザインビューを見ると、C1PropertyGrid コントロールにボタンのすべてのプロパティが反映されていることがわかります。
PropertyAttribute |
Category |
DisplayName |
MemberName |
[0] PropertyAttribute |
外観 |
背景色 |
Background |
[1] PropertyAttribute |
外観 |
境界線の色 |
BorderBrush |
[2] PropertyAttribute |
外観 |
表示 |
Visibility |
[3] PropertyAttribute |
サイズ |
ボタンの高さ |
Height |
[4] PropertyAttribute |
サイズ |
ボタンの幅 |
Width |
[5] PropertyAttribute |
テキスト |
ボタンのテキスト |
Content |
[6] PropertyAttribute |
テキスト |
テキスト色 |
Foreground |
[7] PropertyAttribute |
テキスト |
テキストサイズ |
FontSize |
Category は、項目が表示されるセクションを指定します。DisplayName は、項目に表示される名前を示します。MemberName は、メンバの実際の名前を示します。
アプリケーションを実行して PropertyGridの実行時の動作を確認するには、次の手順に従います。
To bind a class with PropertyGrid, follow these steps:
XAML |
コードのコピー
|
---|---|
<c1:C1PropertyGrid Margin="130,12,30,12" x:Name="propertyGrid"></c1:C1PropertyGrid> |
To customize and connect the PropertyGrid control to the class, complete the following steps:
C# |
コードのコピー
|
---|---|
public class Customer { public string Name { get; set; } public string EMail { get; set; } public string Address { get; set; } public DateTime CustomerSince { get; set; } public int? PointBalance { get; set; } public bool SendNewsletter { get; set; } } |
C# |
コードのコピー
|
---|---|
// 参照するオブジェクトを作成します。 var customer = new Customer(); // 顧客のプロパティを表示します。 propertyGrid.SelectedObject = customer; |
アプリケーションは次のようになります。