BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WPF 4.5 での バインディング強化

WPF 4.5 での バインディング強化

原文(投稿日:2011/12/08)へのリンク

これ以上の注目を浴びるものではないが、WPF は現在も Windows にけるリッチクライアント開発の要旨で有り続けている。.NET ライブラリとオペレーティングシステムの根幹すべてが利用可能であり、他のHTMLや.NETベース UI 技術では釣り合わない。WPF の重要性を認識しているため、Microsoft は WPF に投資し続けており、特に WPF のバインディングについては顕著だ。

まずは、クラス名をもとに静的プロパティをバインディングすることのサポートだ。文法は通常のバインディングと多少異なる。Pete Brown の説明は以下になる。

バインディング文法の変更に注意が必要だ。名前空間、クラス、プロパティの周りに丸括弧を利用する必要がある。Sam Bent は「丸括弧の利用で、 PropertyName.PropertyName より ClassName.PropertyName をパスとしてパースすることを通達する」と説明した。

プロパティのバインディングは変更通知を要求するため、WPF 4.5 は二つのデザインパターンを提示している。一つ目は、“public static event EventHandler [PropertyName]Changed” という記述で一度限りのイベントを作成することだ。監視の必要があるプロパティが複数存在する場合、一般的な目的のためのイベントを代替として利用する。この場合、 “public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged” という記述で利用することができる。

WPF 4.5で利用可能になる他の機能として、遅延バインディングが存在する。一般的に、値の変更はコントロール側からモデル側へ即座に影響する。遅延が設定された場合は、指定された時間が過ぎるまで値を更新しないことが可能だ。Petaは、以下を含む幾つかの例を提示している。

この用途が有用な例として、(検索の様な)徐々に変化が起こり、バインディングのコストが高いデータをTextBoxにバインドする場合がある。この場合、キーをタイプする間の100ms程度の短い一時停止ならば、ユーザを待たせても差し支えない。

この記事に星をつける

おすすめ度
スタイル

BT