2009-09-29 16 views
5

Podczas przechodzenia do samouczka, "wstążka.Aplikacja" zawsze pojawia się po lewej stronie ekranu, a nie po prawej, tak jak w Office 2007, Paint (w systemie Windows 7) i WordPad (w systemie Windows 7).Wyrównywanie menu wstążki WPF po prawej?

Czy jest jakiś sposób, aby to zmienić?

Dziękuję

(przykład kwestii jest tutaj http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png (jako nowy użytkownik, mogę jedynie zakładać 1 hiperłącza))

Odpowiedz

0

Czy używasz WPF Ribbon z zespołu OfficeUI?

Używamy tego i nic takiego się nie dzieje. Ewentualnie opublikuj niektóre z XAML, których używasz do tworzenia Menu aplikacji.

EDYCJA: patrząc na kod, podejrzewam, że DockPanel jest nieco głupi.

ten sposób możemy zorganizować się układ, aby dodać wstążkę

<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--> 

Jak już wspomniano, podejrzewam DockPanel jest bycie tylko odrobinę głupie, pomimo, że to trochę późno (12am) dla mnie, aby przetestować go w prawo teraz. Spróbuj skopiować ten kod do swojego XAML i zobaczyć, co się stanie.

Szczerze mówiąc, nie mam zaufania DockPanels dużo, siatki działa znacznie lepiej dla mnie: D

1

Dziękuję za odpowiedź. Tak, używam wstążki/FluentUI z zespołu Office

Niestety, nie udało mi się zalogować na konto "M.Ahrens", które utworzyłem około 22 godziny temu (nie było to OpenID, i nie jestem pewien, jak się zalogować bez OpenID, więc jestem teraz własnoręcznie OpenID).

nie udało mi się opublikować link do tutoriala poprzednio (jako nowy użytkownik może pisać tylko 1 hiperłącze), ale tutaj jest: http://www.renevo.com/blogs/dotnet/archive/2009/02/10/your-first-wpf-ribbon-application.aspx

To nie dzieje się w tym kursie, to się dzieje w każdej innej aplikacji wstążki, którą robię (w tym próbki Microsoft). Próbowałem płynących:

* HorizontalAlignment = "right"

* HorizontalContentAlignment = "right"

* flowDirection = "RightToLeft" (czyni ApplicationMenu iść na prawo, ale przełącza kolumny wokół)

* Domyślny

Ale nie wydaje się, aby uczynić różne, ApplicationMenu jest nadal na „left” stronie (chyba że zmaksymalizować okno).

M.Ahrens

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

edycji (dodany kod próbki)

<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

Czy możesz przesłać wybór swojego kodu XAML?Spowoduje to, że próba znalezienia problemu będzie znacznie łatwiejsza. –

+0

Podana próba powoduje wystąpienie tego błędu: http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance3.png –

+0

Zaktualizowałem moją oryginalną odpowiedź za pomocą mojego kodu XAML. –