Aus irgendeinem Grund habe ich eine Menge Zeit, um mein TabControl
richtig anzuzeigen, wenn das ItemsSource
an ein ObservableCollection
von Ansichtsmodellen gebunden wird. Ich basiere mein Design aus dem hier gefundenen Tutorial: Ссылка . Ich habe ein paar Fragen wie meine hier gefunden, aber keine hat meine spezielle Situation angesprochen.
Das ist mein TabControl
in xaml.
Wo ClosableTabItemTemplate
ist das Folgende.
Workspaces
ist die ObservableCollection
der Ansichtsmodelle. ActiveWorkspaceIndex
ist nur der aktive Arbeitsbereichsindex, den ich im Ansichtsmodell verfolge. Ich verknüpfe mein Ansichtsmodell mit einer Instanz einer Ansicht über die folgende Datenvorlage in meiner App.xaml-Datei.
Ich füge nur ein Ansichtsmodell zu meiner Sammlung von Arbeitsbereichen hinzu. Ich sehe 2 Ansichten in der Registerkarte angezeigt und sie sind nicht mit Registern. Es ist fast so, als ob das TabControl die verschiedenen Ansichten nicht als TabItems behandelt, sondern sich eher wie ein Stack-Panel verhält und die Views stapelt. Wenn ich die Tab-Elemente im Code erstelle, funktioniert das folgendermaßen:
%Vor%Ich muss eine Inhaltsvorlage oder etwas vermissen. Ich werde später meine Tabs gestalten, aber im Moment würde ich mich freuen, wenn ich nur die grundlegenden Tabs funktioniere. Auch die Ansichten in den Tab-Inhalten können für jede Registerkarte unterschiedlich sein, so dass ich nicht die einfachen TabControl-Vorlagenbeispiele verwenden kann, die ich überall sehe ... I.e. nicht das ...
%Vor%Irgendwelche Ideen?
Am Ende habe ich eine ContentControl
mit einer TabControl
Datenvorlage verwendet (wie im ursprünglichen Tutorial-Projekt). Hier ist der Xaml-Code, mit dem ich gelandet bin. Ich habe den Code-Behind aus dem ursprünglichen Beispielprojekt nicht geändert, um diese Arbeit zu machen. Die ContentControl
ist in meiner MainWindow.xaml und die anderen zwei Teile des Codes waren in einem ResourceDictionary
.
Tags und Links wpf binding xaml tabcontrol