2010-11-29 7 views

答えて

7

私の経験について教えてください。

私は次のような場合のためのコンバータとデータバインディングを使用する:Visibilityプロパティについて

  1. (存在する内蔵WPFに変換)。
  2. Silverlightアプリケーションでは(Microsoft.Expression.InteractionsライブラリにSilverlight互換のデータトリガがありますが、WPFトリガほど便利ではありません)。
  3. ソースオブジェクトに可能な値が多数ある場合。列挙型変換器には、例えば、5つのデータトリガより5つのif-else句を書く方が簡単です。

Datatriggers:

  1. 私は一度に複数の異なる特性を変更したい場合(背景、可視性、厚さ)。
  2. ブラシの場合(色の16進数を使用してC#コードでブラシを作成するのは簡単ではありません)
  3. 静的リソースを適用する場合。
  4. アニメーションの表示やストーリーボードの実行に使用できます。

MVVMのアプローチが好きかもしれません。私はビューモデルに必要な型の追加のプロパティを作成して、変換せずに直接バインドできるようにします。

+0

DataTriggersがストーリーボードを開始できることを追加したいと思います。 – Jens

+0

@Jensはい、そうです。データトリガーのアニメーションはあまり一般的ではありませんが – vorrtex

0

短い答えはそれに依存しています。

データトリガは、単一のデータソースに対してのみ同等操作を提供します。

パラメータまたは複数値バインディングが必要な場合は、コンバータを使用する必要があります。

+0

そうですが、その後の質問には次のようなものがあります。 – Vitalik

関連する問題