[[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クラスを継承し、「依存関係プロパティ」として実装する必要がある。