マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

標準コントロール

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

コントロール(Control)

ボタンやリストボックスなどのコントロール類

一例

  • Label
  • TextBox?
  • Button
  • ComboBox?
  • ListBox?
  • DataGrid?

パネル(Panel)

子要素の配置を決める。

一例

  • Canvas
  • DockPanel?
  • StackPanel?
  • WrapPanel?
  • UniformGrid?
  • Grid

シェイプ(Shape)

ベクタグラフィックスを描画

一例

  • Rectangle
  • Ellipse
  • Path

メディア(FrameworkElement?

静止画や動画などの表示

一例

  • Image
  • MediaElement?

ドキュメント(TextBoxBase?

文書整形

一例

  • RichTextBox?

ユーザ コントロール

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

WPFでは、

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

ユーザ コントロールをより柔軟に利用できる。

画面遷移での利用

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

部品の汎用化

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

バインディング ソース

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

バインディング ターゲット

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


Tags: :.NET開発, :UIサブシステム, :WPF/Silverlight, XAML


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-03-12 (日) 15:23:05 (920d)