まず第一に、私はトリガとコンバータの両方を使用することを知っていますが、私はまだ答えがわからないといういくつかの質問があります。
- コンバータよりもトリガを使用する方が望ましいでしょうか?
- より良いパフォーマンス - トリガーまたはコンバーターとは何ですか?
- コンバータが行うことはすべて、トリガとその逆を行うことができますか?
もう1つ、トリガーはあまり良くありませんなぜなら、XAMLにロジックを書き込んでいるのです。これは間違っており、多くの場合読み込みができません。特に、1ページに多くのトリガを書き込むと、コンバーターを使用するほうが時間がかかります。私の意見は正しいと思いますか?
回答:
回答№1は1コンバーターはあなたのUIに表示してユーザーと対話できる形式に変換することができます。たとえば、列挙型をコンボボックスの選択された値に変更するか、ブール値を「可視」/「不可視」に変更するコンバータを使用するか、コンバーターを使用して異なるパーツの表示と非表示を切り替えたり、プロパティが特定の値を持つときのUIの値。
トリガを使用すると、プロパティの値の変更に基づいてUIの他の部分を変更できます。これには次のようなものが含まれます:
- UIの他の部分を強調表示する(例えば色を変更する)
- アニメーションを開始する
いくつかのオーバーラップがありますが、UIへの変更が静的な場合はコンバーターを使用します。タブは 常に モードが特定の値に設定されていると無効になりますが、トリガーはユーザーの操作によってトリガーされるよりダイナミックな変更(ハイライト、アニメーションなど)用です。
あなたが言うように、トリガはロジックをUIに入れていますが、モデル自体の変更をトリガするのではなく、何らかの方法でUIを変更するだけのロジックに使用します。