2016-04-19 12 views
0

thisメカニズムに基づいて、コンテンツを動的に割り当てることができるダイアログウィンドウを作成しました<ContentPresenter Content="{Binding .}"> 割り当てたいコンテンツは、対応するViewModelを持つユーザーコントロールです。私は)他のユーザーコントロールWPFダイアログの動的表示 - contentpresenterはレンダリングできません

<DataTemplate DataType="{x:Type ViewModels:DialogViewModel}"> <Views:DialogView/> </DataTemplate>

をDialogViewをレンダリングすることができますので、これは動作しますが、ダイアログウィンドウで、DialogViewをレンダリングすることができない代わりに、DialogViewModelの唯一の文字列表現が表示されています。私がcontentpresenterのコンテンツの表示をレンダリングできない理由は何でしょうか?

ご協力いただきありがとうございます。

ありがとうございます。

答えて

0

データテンプレートはどこで定義しましたか?あなたがWindowリソースとしてそれらを作成しているように聞こえ、それをあなたのDialogWindowに含めなかったのです。それらをWindowリソースとして定義する場合は、この方法でレンダリングするすべてのウィンドウにデータテンプレート定義を含める必要があります。 ViewModel/Viewのペアがアプリケーションに対してグローバルである場合、App.xaml内で定義する方が簡単です.App.xamlでは、アプリケーション全体の任意のWindowまたはUserControlによって選択されます。

+0

Chrisさん、ありがとう、私はそれをApp.xamlではなくメインウィンドウで定義しました.WindowDialogは別の名前空間にあるので、それを見ませんでした。それは愚かな間違いだった、あなたは私の時間を救った! – user6224868

関連する問題