Ich habe einen Catel.Window als Hauptfenster mit einem Menü, und der Hauptinhalt ist:Detach MVVM Blick in Catel
<ContentControl Content="{Binding ActualVM, Converter={catel:ViewModelToViewConverter}}" />
Im MainWindowViewModel:
public ViewModelBase ActualVM { get; set; }
Die MainWindowViewModel setzt ActualVM in der OnExecute-Methoden des Menübefehls. Es funktioniert gut. Ich möchte in der Lage sein, die tatsächliche Ansicht in ein neues Fenster zu trennen. In einem Code Sicht hinter Ich habe folgendes für einen Klick der Schaltfläche:
protected void DetachClick(object obj, RoutedEventArgs e)
{
ContentPresenter vp = this.GetVisualParent() as ContentPresenter;
if (vp != null)
{
vp.Content = null;
var dw = new DetachWindow();
dw.Content = this;
dw.Show();
}
}
DetachWindow ist ein „leeres“ Catel.Window mit einem „leeren“ Ansichtsmodell. Es funktioniert auch gut, die Ansicht und das Viewmodell funktionieren im getrennten Fenster, aber wenn ich auf eines der MainWindows-Menüelemente klicke, setzt das MainWindowViewModel die ActualVM, aber die MainWindows zeigt die Ansicht nicht wie vor dem Trennen.
Danke, es funktioniert! –