2009-09-29 17 views
5

Al pasar por un tutorial, 'ribbon.ApplicationhMenu' siempre aparece en la parte izquierda de la pantalla, en lugar de en la derecha, como en Office 2007, Paint (en Windows 7) y WordPad (en Windows 7)WPF Ribbon ApplicationMenu Alignment on the Right?

¿Hay alguna manera de cambiar esto?

Gracias

(Ejemplo de la cuestión está aquí http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png (como nuevo usuario, sólo puedo publicar 1 hipervínculo))

Respuesta

0

¿Está utilizando la cinta de WPF del equipo OfficeUI?

Estamos usando eso y no sucede nada así. Posiblemente publique algunos de los XAML que está utilizando para crear el menú de la aplicación.

EDIT: Al echar un vistazo a su código, sospecho que el DockPanel es un poco tonto.

Ésta es la forma en que estructuramos a cabo el diseño para agregar la cinta de

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

Como ya he mencionado, sospecho que el DockPanel está siendo simplemente abit tonto, aunque es un poco tarde (12 a.m.) para mí para probarlo derecha ahora. Intenta copiar este código en tu XAML y ver qué pasa.

Para ser franco, no confío en DockPanels mucho, rejillas funcionan mucho mejor para mí: D

1

Gracias por su respuesta. Sí, estoy usando Ribbon/FluentUI del Equipo de Office

Lo siento, no pude iniciar sesión en la cuenta 'M.Ahrens' que creo hace 22 horas (no era OpenID, y no estoy seguro de cómo iniciar sesión sin un OpenID, por lo que ahora estoy hecho un OpenID).

he podido enviar el enlace al tutorial con anterioridad (como un nuevo usuario sólo puede publicar 1 hipervínculo), pero aquí está: http://www.renevo.com/blogs/dotnet/archive/2009/02/10/your-first-wpf-ribbon-application.aspx

No sólo sucede en este tutorial, sucede en cada otra aplicación de cinta que hago (incluidas las muestras de Microsoft). He probado el que fluye:

* HorizontalAlignment = "derecha"

* HorizontalContentAlignment = "derecha"

* FlowDirection = "RightToLeft" (hace que el ApplicationMenu ir a la derecha, pero cambia las columnas alrededor)

* Predeterminado

Pero no parece hacer una diferente, el ApplicationMenu todavía está en el lado 'izquierda' (a menos que puedo maximizar la ventana).

M.Ahrens

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

Edit (añadido un ejemplo de código):

<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

¿Puedes publicar una selección de tu código XAML?Esto hará que tratar de encontrar el problema sea mucho más fácil. –

+0

El ejemplo proporcionado produce este error: http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance3.png –

+0

He actualizado mi respuesta original con mi código XAML. –