2009-09-29 15 views
5

Wenn Sie ein Tutorial durchgehen, wird das 'ribbon.ApplicationhMenu' immer auf der linken Seite des Bildschirms angezeigt, nicht wie in Office 2007, Paint (unter Windows 7) und WordPad (unter Windows 7)).WPF Ribbon ApplicationMenü Ausrichtung rechts?

Gibt es eine Möglichkeit, dies zu ändern?

Danke

(Beispiel für die Frage hier ist http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png (als neuer Benutzer, ich habe nur einen Hyperlink veröffentlichen kann))

Antwort

0

Sind Sie die WPF-Band aus dem OfficeUI Team mit?

Wir benutzen das und nichts wird so passiert. Möglicherweise veröffentlichen Sie einige der XAML, die Sie verwenden, um das App-Menü zu erstellen.

EDIT: Ich habe einen Blick auf Ihren Code, ich vermute, das DockPanel ist ein bisschen albern.

Dies ist, wie wir das Layout des Band

<r:RibbonWindow x:Class="MyAssembly.Main" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 
Title="The Title" 
Height="450" 
Width="600" > 

<Grid x:Name="grdMain"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <r:Ribbon Title="The Title" x:Name="ribbonMain" Grid.Row="0"> 
     <!--Quick Access Toolbar--> 
     <r:Ribbon.QuickAccessToolBar> 
      <r:RibbonQuickAccessToolBar> 
      </r:RibbonQuickAccessToolBar> 
     </r:Ribbon.QuickAccessToolBar> 

     <!--Application Menu--> 
     <r:Ribbon.ApplicationMenu> 
      <r:RibbonApplicationMenu x:Name="mnuApplication"> 
       <!--App Menu Items--> 
       <r:RibbonApplicationMenu.Items> 
       </r:RibbonApplicationMenu.Items> 
       <!--App Menu Recent Item List--> 
       <r:RibbonApplicationMenu.RecentItemList> 
        <StackPanel> 
         <r:RibbonLabel>Recent Items</r:RibbonLabel> 
         <r:RibbonSeparator/> 
         <r:RibbonHighlightingList x:Name="lstRecentItems"/> 
        </StackPanel> 
       </r:RibbonApplicationMenu.RecentItemList> 
       <!--App Menu Footer--> 
       <r:RibbonApplicationMenu.Footer> 
       </r:RibbonApplicationMenu.Footer> 
      </r:RibbonApplicationMenu> 
     </r:Ribbon.ApplicationMenu> 
    </r:Ribbon> 

    <Grid Grid.Row="1"> 
     <!--This is the aread under the ribbon. Place layout things inside of this space--> 
    </Grid> 
</Grid> </r:RibbonWindow> <!--This is closing tag is on this line as SO is being silly--> 

Wie ich bereits erwähnt strukturieren aus, vermute ich, die DockPanel abit nur albern ist, tho es ein bisschen spät (00.00) ist für mich richtig zu testen jetzt. Versuchen Sie, diesen Code in Ihr XAML zu kopieren und zu sehen, was passiert.

Um ehrlich zu sein, ich traue DockPanels eine ganze Menge, Grids arbeiten viel besser für mich: D

1

Dank für Ihre Antwort danken. Ja, ich verwende das Ribbon/FluentUI aus dem Office-Team

Entschuldigung, ich konnte mich nicht am 'M.Ahrens-Konto anmelden, das ich vor ungefähr 22 Stunden erstellt habe (es war kein OpenID-Konto, und ich bin mir nicht sicher, wie ich mich ohne OpenID anmelden kann, also habe ich mir jetzt eine OpenID gemacht).

Ich konnte nicht auf den Link zum Tutorial vorher schreiben (als neuer Benutzer kann 1 Hyperlink nur schreiben), aber hier ist es: http://www.renevo.com/blogs/dotnet/archive/2009/02/10/your-first-wpf-ribbon-application.aspx

Es ist einfach in diesem Tutorial nicht passiert, es passiert in jeder anderen Ribbon-App, die ich mache (einschließlich Microsoft-Samples). Ich habe den fließenden versucht:

* Horizontal = "Rechts"

* Horizontalcontentalignment = "Rechts"

* Flowdirection = "RightToLeft" (macht die ApplicationMenu nach rechts gehen, sondern schaltet die Spalten um

)

* Standard

Aber es scheint nicht anders zu machen, die ApplicationMenu ist immer noch auf der ‚linken‘ Seite (es sei denn, ich maximieren das Fenster).

M.Ahrens

+++++++++++++++++++++++++

Edit (hinzugefügt, um eine Codebeispiel):

<r:RibbonWindow 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 
    Height="400" Width="400"> 

    <DockPanel> 
     <r:Ribbon DockPanel.Dock="Top"> 
      <r:Ribbon.ApplicationMenu> 
       <r:RibbonApplicationMenu> 
       </r:RibbonApplicationMenu> 
      </r:Ribbon.ApplicationMenu> 
     </r:Ribbon> 
    </DockPanel> 
</r:RibbonWindow> 
+0

können Sie eine Auswahl Ihres XAML-Codes veröffentlichen?Dadurch wird der Versuch, das Problem zu finden, erheblich erleichtert. –

+0

Das mitgelieferte Beispiel erzeugt diesen Fehler: http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance3.png –

+0

Ich habe meine ursprüngliche Antwort mit meinem XAML-Code aktualisiert. –