WPF-Ribbon, ändern Sie den Hauptinhalt, wenn die Ribbon-Registerkarte ausgewählt ist

8

Ich möchte den Inhalt der Hauptoberfläche (das Zeug unter der Multifunktionsleiste) in einer WPF-Anwendung ändern, wenn auf eine Multifunktionsleisten-Registerkarte geklickt wird. Ich benutze das Büroband, nicht das ist wichtig. Also welche WPF Containersteuerung soll ich verwenden und wie würde ich das machen? Sollte ich nur verschiedene Steuerelemente mit Sichtbarkeit haben, oder was? Ich bin kein WPF-Experte, also brauche ich ein wenig Inspiration.

    
Klaus Byskov Pedersen 04.12.2009, 12:26
quelle

4 Antworten

11

Vorwort, indem ich sage, dass ich bezweifle, dass dies der beste Weg ist, dies zu tun.

Dies ist mein Stil für RibbonTab notice IsSelected ist an IsSelected in The view model

gebunden %Vor%

Dies ist Ansichtsmodellcode

%Vor%

Im Konstruktor für das TabViewModel nehme ich einen Parameter für das ViewModel des Inhalts

%Vor%

Dann habe ich ein ItemsControl verwendet, um den ausgewählten Inhalt in meinem XAML anzuzeigen

%Vor%

Und das ContentControlTemplate, das ich habe, ist

%Vor%

Stellen Sie außerdem sicher, dass Sie ein Datamaplate haben, das Ihren Inhalt auf eine Ansicht zeigt

Hoffe, das hilft.

    
Wegged 23.08.2010, 18:34
quelle
7

Die Idee ist, Inhalt unter dem Band gestapelt in Schichten zu haben, (wie in Photoshop oder einem anderen grafischen Editor) und zeigen nur Schicht, die Sie diesen Moment brauchen. Verbinde einfach Visibility deiner Ebene mit IsSelected Eigenschaft der gewünschten Registerkarte

MainGrid ist hier ein Container für Layer (auch Grids):

%Vor%

... und Sie brauchen überhaupt keinen Code!

P.S. Oh, ich vergesse, dass du BooleanToVisibilityConverter natürlich in Ressourcen deklarieren musst

    
Wolfrevo Cats 11.02.2014 13:44
quelle
2

Ich denke, es gibt einen einfacheren Weg, es zu tun. Ich habe es so gemacht:

%Vor%

Und in deinem Code dahinter:

%Vor%     
Nawed Nabi Zada 13.06.2013 08:07
quelle
1

Ich weiß, dass dies ein älterer Thread ist, aber ich habe ein Problem damit und habe keine vb.net-Hilfe gefunden, aber ich habe eine Lösung für sich entdeckt ... also hier ist es:

Geben Sie Ihrem RibbonTab einen Namen, damit Sie mit dem Code dahinter umgehen können. Ich weiß, dass es mehrere Möglichkeiten zum Hinzufügen von Ansichten und Steuerelementen gibt, aber hier ist, was ich getan habe ... Ich habe einfach ein neues Raster für meine Ansicht innerhalb des Haupt-Rasters nach dem Ribbon hinzugefügt. zB:

%Vor%

Dann der Code hinter (VB.NET)

%Vor%     
Dethlore 28.12.2012 18:07
quelle

Tags und Links