Silverlightコントロール全般

 カスタマイズコントロールなどの作成する時、コントロールのネストコントロールを XAML 形式で定義したい場合、ネストコントロールを親のカスタマイズコントロールのどのプロパティをコンテンツ プロパティとして使用するかを指定し足し場合、System.Windows.Markup.ContentPropertyAttribute属性で設定できます。

 「System.Windows.Controls.ContentControl」クラスは「[ContentProperty("Content", true)]」の属性を付けられていますため、「System.Windows.Controls.ContentControl」を継承した「Button」コントロールの「Content」プロパティにさらに、コントロールを定義することができます。

ソースコード例:

カスタマイズコントロールクラスを定義する:

[ContentProperty("Content")]
public class CustomViewer : ContentControl
{
    public UIElement Content { get; set; }
}

XAMLで定義する時、下記の様なフォーマットで利用できます。

... 中略 ...
xmlns:xx="SilverlightClass1"
... 中略 ...

<xx:CustomViewer>
    <Button x:Name="BorderLayout" Content="button" />
</xx:CustomViewer>


ウィジェット型CM動画配信サービス manna [マナ]

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:36:31 (415d)