[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

-[[戻る>WPF]]

* 目次 [#a6647547]
#contents

*概要 [#q1d98836]

*標準コントロール [#te4c8df4]
WPFは、次のような標準コントロールを備えている。

-MSDN > Windows Presentation Foundation~
移行と相互運用性 > Windowsフォーム コントロールおよび同等のWPFコントロール~
http://msdn.microsoft.com/ja-jp/library/ms750559.aspx

**コントロール(Control) [#h4d56350]
ボタンやリストボックスなどのコントロール類

一例
-Label
-TextBox
-Button
-ComboBox
-ListBox
-DataGrid

**パネル(Panel) [#c22bceea]
子要素の配置を決める。

一例
-Canvas
-DockPanel
-StackPanel
-WrapPanel
-UniformGrid
-Grid

**シェイプ(Shape) [#fb5fcbd0]
ベクタグラフィックスを描画

一例
-Rectangle
-Ellipse
-Path

**メディア(FrameworkElement) [#e0214f36]
静止画や動画などの表示

一例
-Image
-MediaElement

**ドキュメント(TextBoxBase) [#y2c63538]
文書整形

一例
-RichTextBox

*ユーザ コントロール [#m9448a6a]
ユーザ コントロールは、UI要素の部品化を目的としたもので、Windowsフォーム、ASP.NETアプリケーション(Webフォーム)などと同様に、ユーザ コントロールの開発・使用が可能である。

-MSDN > Windows Presentation Foundation > コントロール~
コントロールのカスタマイズ > コントロールの作成の概要~
http://msdn.microsoft.com/ja-jp/library/ms745025.aspx

WPFでは、ユーザ コントロールのCLRプロパティを初期化する場合、XAML要素から指定可能であったり、ユーザ コントロール内の各コントロールに「データ バインディング」する場合は、ユーザ コントロールのDataContextプロパティに「バインディング ソース」を指定可能であったり、また、「ツールチップ」の表示にユーザ コントロールを設定したりするなど、ユーザ コントロールをより柔軟に利用できる。

**画面遷移での利用 [#kd27bd58]
-ユーザ コントロールをプログラムからインスタンス化して、(ナビゲーション フレームワークの仕様に依らず)画面遷移やダイアログの代替を実現したりできる。
-ダイアログがサポートされていない「XBAP」で、z-indexを適切に設定するか、最後の要素としてルートのパネル要素に追加することで、ダイアログ表示の代替が可能(Silverlight ver3から、ChildWindowコントロールが利用できる)。
-ユーザ コントロールにアニメーションを適用することで、アニメーション効果付の画面遷移を実装することができる。

**部品の汎用化 [#pd716aa3]
ユーザ コントロールのプロパティを以下の用途で使用する場合、それぞれ追加の実装が必要になるので注意する。

-変更通知を実装した「バインディング ソース」として使用する場合、~
INotifyPropertyChangedインターフェイス、変更通知処理を実装する必要がある。

-変更監視・有効値検証を実装した「バインディング ターゲット」として使用する場合、~
DependencyObjectクラスを継承し、「依存関係プロパティ」として実装する必要がある。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS