2012-02-17 4 views
3

私はBlendの設計時間を改善しようとしています。私はのような何かを行うことができます知っているコードの後ろにデザインデータコンテキストを作成する

d:DataContext="{d:DesignInstance local:vm_d, IsDesignTimeCreatable=True}" 

とブレンド/ VS設計時にvm_dために私のバインディングが表示されますが、しかし、これは、DIを使用した場合、すなわち(やや限ら思わジェネリック、しないようにそれを言及します私のデザインタイムエクスペリエンスを向上させるためにXAMLを手作業で編集する必要があることは奇妙なことです)。私は1つの問題は、私はIsDesignTimeCreatableを設定する必要があると仮定し

public SimpleLoad() 
    { 
     InitializeComponent(); 
     DataContext = new vm_d(); 
    } 

:私はむしろ何かを実行したい

は、背後にあるコードでは、このようなものでしょうか?どのような場合でも、私はこれをどのように実装できるか考えている人はいますか?

答えて

0

は、コンストラクタ(またはPageLoadedハンドラ)で、これらの線allong何かを追加します。

 if (DesignerProperties.IsInDesignTool) 
     { 
      SimpleLoad(); 
     } 
+0

を私は多分私は私のオリジナルのポストでは明確ではなかったと思います。あなたの答えでは、コンストラクタでSimpleLoadを呼び出すことをお勧めしますが、SimpleLoadは私のコンストラクタです。考え方はコンストラクタ内で(デザインモードにあるかどうかに応じて)どのビューモデルを作成するか(デザイン時に使用する実際のものかダミーなものか)を決定するロジックをいくつか持たせたいということです。 – foo

関連する問題