Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
- MSDN > Windows Presentation Foundation
標準コントロール †
WPFは、次のような標準コントロールを備えている。
コントロール(Control) †
ボタンやリストボックスなどのコントロール類
一例
- Label
- TextBox?
- Button
- ComboBox?
- ListBox?
- DataGrid?
パネル(Panel) †
子要素の配置を決める。
一例
- Canvas
- DockPanel?
- StackPanel?
- WrapPanel?
- UniformGrid?
- Grid
シェイプ(Shape) †
ベクタグラフィックスを描画
一例
メディア(FrameworkElement?) †
静止画や動画などの表示
一例
ドキュメント(TextBoxBase?) †
文書整形
一例
ユーザ コントロール †
ユーザ コントロールは、UI要素の部品化を目的としたもので、
Windowsフォーム、ASP.NETアプリケーション(Webフォーム)などと同様に、
ユーザ コントロールの開発・使用が可能である。
WPFでは、
- ユーザ コントロールのCLRプロパティを初期化する場合、XAML要素から指定可能であったり、
- ユーザ コントロール内の各コントロールに「データ バインディング」する場合は、
- ユーザ コントロールのDataContext?プロパティに「バインディング ソース」を指定可能であったり、
- また、「ツールチップ」の表示にユーザ コントロールを設定したりするなど、
ユーザ コントロールをより柔軟に利用できる。
画面遷移での利用 †
- ユーザ コントロールをプログラムからインスタンス化して、
(ナビゲーション フレームワークの仕様に依らず)画面遷移やダイアログの代替を実現したりできる。
- ダイアログがサポートされていない「XBAP」で、z-indexを適切に設定するか、最後の要素としてルートのパネル要素に追加することで、
ダイアログ表示の代替が可能(Silverlight ver3から、ChildWindow?コントロールが利用できる)。
- ユーザ コントロールにアニメーションを適用することで、アニメーション効果付の画面遷移を実装することができる。
部品の汎用化 †
ユーザ コントロールのプロパティを以下の用途で使用する場合、それぞれ追加の実装が必要になるので注意する。
バインディング ソース †
変更通知を実装した「バインディング ソース」として使用する場合、
INotifyPropertyChanged?インターフェイス、変更通知処理を実装する必要がある。
バインディング ターゲット †
変更監視・有効値検証を実装した「バインディング ターゲット」として使用する場合、
DependencyObject?クラスを継承し、「依存関係プロパティ」として実装する必要がある。
Tags: :WPF/Silverlight, XAML