ExtendedLibrary for WPF/Silverlight
添付プロパティの使用
PropertyGrid > 主な特長 > 添付プロパティの使用

C1PropertyGrid コントロールは、親コンテナ内で定義された要素に設定された添付プロパティをサポートします。

C1PropertyGrid コントロールの AutoGenerateProperties プロパティが true に設定されている場合、添付プロパティは親コントロールに依存します。たとえば、あるコントロールが Grid に挿入されている場合、プロパティグリッドには Grid の添付プロパティ(Grid.Row、Grid.Column など)が表示されます。親コントロールが Canvas の場合は、Canvas の添付プロパティ(Canvas.Left、Canvas.Top など)が表示されます。

次のコード例では、Canvas の添付プロパティである Canvas.Left プロパティを Button コントロールに割り当てる方法を示します。

XAML
コードのコピー
<Canvas>
    <!--ボタンをプロパティグリッドに連結し、キャンバスに対するプロパティグリッドの相対位置を設定します-->
    <c1:C1PropertyGrid x:Name="c1PropertyGrid1" Height="386" Width="342" 
                       SelectedObject="{Binding ElementName=Button1}"
                       Canvas.Left="32" Canvas.Top="42">
        <c1:C1PropertyGrid.PropertyAttributes>
            <!--ボタンによって継承される Canvas.Left 添付プロパティ-->
            <c1:PropertyAttribute Category="Geometry" Browsable="True" DisplayName="Left" MemberName="Canvas.Left"
                                  MaximumValue="300" MinimumValue="20" />
        </c1:C1PropertyGrid.PropertyAttributes>
    </c1:C1PropertyGrid>
    <Button x:Name="Button1" Content="Button" Width="75"/>
</Canvas>

アプリケーションを実行し、Button コントロールのプロパティグリッドに Canvas の追加プロパティが表示されることを確認します。