0

私はWPFを使用してTabControlおり、Menu. これにより、1 つのファイルがすべてのユーザー アクションを制御するため、多くのコード ビハインド コードが生成されます。Controller次に、すべてのクラスを使用できると考えていTabItemました。私はそれを使用して動作しましたが、結果は好きではありません。に渡すFindName()メソッドを使用する必要があり、デバッグが困難な醜いコードが生成されます (少なくとも私の意見では)。TabItemController

TabItem私の.xamlページでコントロールを見つけることができるように、を渡す方法はありますControllerか?

たとえばTabItem1、 、TabItem2およびがありTabItem3ます。それぞれに、ユーザーが使用するページが含まれています。TabItem1次に、 controllerに渡しTabItem1Controllerます。現時点では、私はこのようにしています:

public TurbineController(TabItem tab)
    {
        _client = tab;
    }

しかし、私はそのFindName()方法を使用しなければなりません。

私のリクエストは可能ですか?

4

1 に答える 1

0

少なくとも MVVM アプローチまでは、後戻りしています。コントローラー (TurbineContoller) はビュー (TabItem) を参照するべきではなく、ビューはコントローラーを参照する必要があります。コントローラーのコレクションを作成し、コレクションをタブコントロールにデータバインドします。各タブのデータコンテキストは、タブがデータバインドするコントローラーになります。

于 2009-12-01T14:29:33.053 に答える