Fenster Stil mit WPF Ribbon von Microsoft nicht mit Windows-8-Stil
Ich bin mit der release-Version von Windows 8 und Visual Studio 2012 erstellen einer WPF-Anwendung mit einem Steuerelement der Multifunktionsleiste. Ich wählen Sie das ribbon-Steuerelement, das kommt mit WPF in .Net Framework 4.5.
Mein code zum erstellen der Multifunktionsleiste:
<RibbonWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfExperiments" x:Class="WpfExperiments.MainWindow"
Title="MainWindow" Height="350" Width="525" Icon="Test.ico">
<Ribbon>
<Ribbon.ApplicationMenu>
<RibbonApplicationMenu>
<RibbonApplicationMenuItem Header="Item 1"></RibbonApplicationMenuItem>
</RibbonApplicationMenu>
</Ribbon.ApplicationMenu>
<Ribbon.QuickAccessToolBar>
<RibbonQuickAccessToolBar>
<RibbonButton SmallImageSource="Test.ico" Label="Test"></RibbonButton>
</RibbonQuickAccessToolBar>
</Ribbon.QuickAccessToolBar>
</Ribbon>
Aber das problem ist, dass es erzeugt ein Fenster mit einem hässlichen Stil, der nicht mit der windows 8-Stil:
Vergleichen Sie es mit dem explorer-Menüband. Der Titel des Fensters zentriert ist (und hat eine andere Farbe) und die Rahmenbreite der Fenster ist anders. Der Stil der Band ist nicht das gleiche, aber ich wäre zufrieden, wenn ich hatte das gleiche ribbon-Stil wie MS Word (welches korrekt angezeigt im Windows 8).
Macht die ribbon-control für WPF nicht unterstützt die neuen Windows 8-Stil? Oder habe ich irgendwelche Einstellung?
Edit:
Begann ich die Vorlage Bearbeiten, in Mischung (4.0, ich don ' T haben Zugang zu 5.0). Nach dem fixieren einige Kompilierungs-Fehler (scheint Fehler in der Mischung), habe ich die Anwendung ausführen können, aber es sieht so aus:
Aber das ist nicht ein guter Ausgangspunkt für meine Veränderungen...
- Haben Sie versucht, den Stil zu aktualisieren manuell in der Mischung? Oder sind Sie auf der Suche nach einer automatisierten Möglichkeit, es zu tun?
- Ich bin neu in WPF. Ich sehe nur einen Weg, das zeigt der Fensterrahmen in der richtigen Weise auf Windows 8 und mit dem alten Stil auf Windows 7.
- Ich habe es nie benutzt, bevor, aber ich vermute, das könnte nicht möglich sein. Möglicherweise müssen zum erstellen einer benutzerdefinierten Formatvorlage, um es so Aussehen wie windows 8. Wenn Sie starten Sie Ihre app, Sie könnten möglicherweise überprüfen Sie die OS-version und apple, je nachdem, welcher Stil angemessen ist. Sie müssen Expression Blend zu tun, das styling.
- Ich gehe davon aus, WPF zeichnet das gesamte Fenster von chrome selbst. Das heißt, es ist nicht die native Windows Ribbon Framework, so erhalten Sie eine Annäherung. Für was es Wert ist, es war viel mehr kaputt in der VS2012 RC. Eine eher schlechte Lösung ist die Verwendung einer
Window
eher als eineRibbonWindow
und verzichten auf die QAT. - Ich habe versucht die Vorlage Bearbeiten der Multifunktionsleiste Fenster, aber ich kann nicht Ereignis kompilieren Sie die unberührte Vorlage, weil der compiler vermisse einen Verweis auf den namespace Microsoft.Ausdruck.- Plattform.WPF.InstanceBuilders ich kann nicht finden, etwas über es? Irgendwelche Ideen?
- Ich kenne einige
Microsoft.Expression
Zeug ist verfügbar in den Expression Blend SDK, aber ich weiß nicht, ob das assembly/namespace ist. - Ok, das scheint der Fehler im tool, erstellt die xaml-Vorlage. Ich kann korrigieren Sie die Vorlage selbst eine lauffähige version
- die Ribbon-Umsetzung in .Net basiert auf dem Microsoft Office 2007-Stil nicht der Fluent-style in Office 2010 und Windows 8. Microsoft hat beschlossen, dass Sie kaufen sollten Sie 3rd-party-Bänder, wenn Sie wollen etwas, das sieht anständig aus.
- Ich will nicht, dass die Office 2010 oder Windows 8-Stil, ich bin nur sehr interessiert in das chrome-Fenster nicht auf der Suche buggy (falscher text Farbe, falsche schriftart, falsche Ausrichtung, falsche Grenzen...)
- Man sollte beachten, dass C++ - version tatsächlich verwendet die native ribbon-Stil.
- Auch: windowsribbon.codeplex.com unterstützt native ribbons in windows forms, Sie könnten, wenn Sie wollen, dass der Einsatz von c#, und verwenden Sie ein Band.
Du musst angemeldet sein, um einen Kommentar abzugeben.
WPF-Ribbon-ist das nicht ein wrapper für eine Steuerung durch das Betriebssystem (wie die meisten Windows Forms-Steuerelemente), aber von Grund auf neu gebaut, die das Aussehen und Gefühl von der Band zu der Zeit als es entwickelt wurde, während eine Steuerung ist so flexibel wie andere WPF-Steuerelemente (beachten Sie die Unterstützung für die template-Teile).
Sagte, es ist eine Frage der Kontrolle nicht (im Moment) aktualisiert, um die Unterstützung der Windows 8-Stil. Angesichts der Vielzahl von Vorlagen für mehrere Steuerelemente, die müsste geändert werden, sowie die Notwendigkeit, abwärts kompatibel (und das ist meine Spekulation, an dieser Stelle) es wurde möglicherweise nicht als eine Priorität bei .NET 4.5 veröffentlicht wurde.
Könnten Sie in der Lage sein, um das Thema zu ändern sich, aber das sieht aus wie eine massive Unternehmen, so dass es sich lohnen könnte, es zu Sie verwenden eine Drittanbieter-Steuerelement, die bereits implementiert das Windows 8 ribbon-Stil.