2

MVVMとIoCを学習するために使用しているWPFアプリケーションがあります。

問題は、ビューの1つで使用されるモデルが、コンストラクター内の依存関係の1つをIoCコンテナーからプルすることを想定していることです。

Visual Studioデザイナーでこのビューを操作している場合、モデルで例外が発生しているため、デザインを表示できません。

これを回避する方法はありますか?コード内の間違った場所に依存関係をプルしていますか、それともコンストラクターインジェクションを介して構築された依存関係を渡す方法がありますか?

現在、IoCコンテナはApp.xaml.csのコードで設定されています。

IoCコンテナは、MSDNのこの記事から引用した独自のロールです-http ://msdn.microsoft.com/en-us/magazine/cc337885.aspx

4

2 に答える 2

0

私は最近同様の問題に直面していました。私は次のチェックでそれを回避しました:

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject()))
            Init();
    }
于 2010-04-19T21:27:11.773 に答える
0

ViewModel を Xaml 内のビューのデータ コンテキストとして宣言し、Xaml がデザイナーで適切にレンダリングするビュー コンストラクターにこれを移動することで、問題が発生したことがわかりました。

于 2010-04-20T06:52:18.497 に答える