2016-04-19 9 views
0

Basierend auf this Mechanismus, habe ich ein Dialogfenster, von denen ich dynamisch den Inhalt von einem <ContentPresenter Content="{Binding .}"> Der Inhalt Ich möchte ein Benutzer die Kontrolle mit einer entsprechenden Ansichtsmodell zuordnen kann, ist. Das funktioniert, wie ich die DialogView in anderen Benutzersteuerelemente machen kannWPF Dynamische Ansicht eines Dialog - Content nicht gerendert

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

jedoch in der DialogWindow, DialogView nicht, sondern gemacht werden, nur die String-Darstellung DialogViewModel sichtbar ist. Was könnte der Grund sein, warum ich den Content von contentpresenter nicht sehen kann?

Jede Hilfe wird sehr geschätzt!

Vielen Dank im Voraus

Antwort

0

Wo haben Sie die Datenvorlage definiert? Es scheint, dass Sie sie als Window-Ressourcen erstellen und nicht in Ihr DialogWindow aufnehmen. Wenn Sie sie als Window-Ressourcen definieren, muss die Definition der Datenvorlage in jedem Fenster enthalten sein, das auf diese Weise gerendert werden soll. Wenn das ViewModel/View-Paar für die Anwendung global ist, ist es einfacher, es in der App.xaml zu definieren, wo es von einem beliebigen Fenster oder UserControl in der gesamten Anwendung abgerufen wird.

+0

Vielen Dank Chris, du hast recht, ich habe es nicht in der App.xaml definiert sondern im Hauptfenster und WindowDialog habe es nicht so gesehen wie es in einem anderen Namespace ist. Es war ein blöder Fehler und du hast meine Zeit gerettet! – user6224868