- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
-[[戻る>WPF]]
* 目次 [#a6647547]
#contents
*概要 [#q1d98836]
-MSDN > Windows Presentation Foundation
--詳細設定 > 移行と相互運用性 > WPF と Windows フォームの相互運用性 > Windowsフォーム コントロールおよび同等のWPFコントロール~
http://msdn.microsoft.com/ja-jp/library/ms750559.aspx
--コントロール > コントロールのカスタマイズ > コントロールの作成の概要~
http://msdn.microsoft.com/ja-jp/library/ms745025.aspx
*標準コントロール [#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フォーム)などと同様に、ユーザ コントロールの開発・使用が可能である。
ユーザ コントロールは、UI要素の部品化を目的としたもので、~
Windowsフォーム、ASP.NETアプリケーション(Webフォーム)などと同様に、~
ユーザ コントロールの開発・使用が可能である。
-MSDN > Windows Presentation Foundation > コントロール~
コントロールのカスタマイズ > コントロールの作成の概要~
http://msdn.microsoft.com/ja-jp/library/ms745025.aspx
WPFでは、
WPFでは、ユーザ コントロールのCLRプロパティを初期化する場合、XAML要素から指定可能であったり、ユーザ コントロール内の各コントロールに「データ バインディング」する場合は、ユーザ コントロールのDataContextプロパティに「バインディング ソース」を指定可能であったり、また、「ツールチップ」の表示にユーザ コントロールを設定したりするなど、ユーザ コントロールをより柔軟に利用できる。
-ユーザ コントロールのCLRプロパティを初期化する場合、XAML要素から指定可能であったり、
-ユーザ コントロール内の各コントロールに「データ バインディング」する場合は、
--ユーザ コントロールのDataContextプロパティに「バインディング ソース」を指定可能であったり、
--また、「ツールチップ」の表示にユーザ コントロールを設定したりするなど、
ユーザ コントロールをより柔軟に利用できる。
**画面遷移での利用 [#kd27bd58]
-ユーザ コントロールをプログラムからインスタンス化して、(ナビゲーション フレームワークの仕様に依らず)画面遷移やダイアログの代替を実現したりできる。
-ダイアログがサポートされていない「XBAP」で、z-indexを適切に設定するか、最後の要素としてルートのパネル要素に追加することで、ダイアログ表示の代替が可能(Silverlight ver3から、ChildWindowコントロールが利用できる)。
-ユーザ コントロールをプログラムからインスタンス化して、~
(ナビゲーション フレームワークの仕様に依らず)画面遷移やダイアログの代替を実現したりできる。
-ダイアログがサポートされていない「XBAP」で、z-indexを適切に設定するか、最後の要素としてルートのパネル要素に追加することで、~
ダイアログ表示の代替が可能(Silverlight ver3から、ChildWindowコントロールが利用できる)。
-ユーザ コントロールにアニメーションを適用することで、アニメーション効果付の画面遷移を実装することができる。
**部品の汎用化 [#pd716aa3]
ユーザ コントロールのプロパティを以下の用途で使用する場合、それぞれ追加の実装が必要になるので注意する。
-変更通知を実装した「バインディング ソース」として使用する場合、~
***バインディング ソース [#j12b65be]
変更通知を実装した「バインディング ソース」として使用する場合、~
INotifyPropertyChangedインターフェイス、変更通知処理を実装する必要がある。
-変更監視・有効値検証を実装した「バインディング ターゲット」として使用する場合、~
***バインディング ターゲット [#e138e3eb]
変更監視・有効値検証を実装した「バインディング ターゲット」として使用する場合、~
DependencyObjectクラスを継承し、「依存関係プロパティ」として実装する必要がある。