1

コードビハインドのコードを回避するアプローチに興味があります。私の意見では、コード ビハインドにコードを配置する必要がある場合がいくつかあります。例: 未定義の列数を持つグリッドがあります。列はバインドできません。したがって、最も簡単な方法は、コード ビハインドで列を生成することです。

この場合、グリッドから継承する新しいクラスを作成できます。この新しいクラスには、列バインディング用の新しいバインディング プロパティとコードがあります。コードは、XAML で使用できるカスタム クラスで分離されます。次に、列を新しく作成したプロパティに簡単にバインドできます。ビューにはコードビハインドはありません。

それは良い考えですか?そのような(または同様の)問題をどのように解決しますか? コードビハインドからコードを抽出する他の方法はありますか?

ありがとう。

4

1 に答える 1

3

無料の xaml.cs の背後にあるコードを持ち、コードを新しいクラスに移行することは、純粋な MVVM を意味するわけではありません。アイデアは、ViewModel にすべてのロジックがあるため、無料の View の背後にあるコードがあり、単体テストに役立ちます。色やアニメーションなどのビュー固有のロジックは単体テストできないため、カスタム コントロールまたは継承されたコントロール、または直接 xaml.cs のどこにあるかは関係ありません。UnitTesting を介してほとんどのユーザー インタラクションとビュー ロジックをテストしている限り、良い仕事をしたことに満足するはずです。

于 2012-09-01T20:46:18.733 に答える