Das Standard-Überlaufmenü ist so gestaltet, dass es sich von der Leiste unterscheidet. Sie können das Styling anpassen, indem Sie die Eigenschaft CommandBarOverflowPresenterStyle auf einen Style setzen, der auf CommandBarOverflowPresenter zielt. Standardmäßig passt das Überlaufmenü seine Größe und Darstellung an die Fensterbreite an, so dass es sich bei kleinen Fenstern/Bildschirmen auf die gesamte Breite erstreckt und nur den Rand entlang der Vorderkante statt des gesamten Menüs anzeigt. Sie können dies überschreiben, indem Sie das Menü neu gestalten. Im folgenden Beispiel entferne ich einige der visuellen Zustände, die BorderThickness verändern, und ich programmiere die MaxWidth/MinWidth sowie die HorizontalAlignment fest (um zu verhindern, dass sie in kleineren Fenstern gestreckt wird).
<CommandBar Margin="0">
<CommandBar.CommandBarOverflowPresenterStyle>
<Style TargetType="CommandBarOverflowPresenter">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CommandBarOverflowPresenter">
<Grid x:Name="LayoutRoot"
MaxWidth="480"
MinWidth="196"
HorizontalAlignment="Right"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="1,1,1,1">
<ScrollViewer HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}"
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}"
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"
AutomationProperties.AccessibilityView="Raw">
<ItemsPresenter x:Name="ItemsPresenter" Margin="0,7,0,7" />
</ScrollViewer>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</CommandBar.CommandBarOverflowPresenterStyle>
<CommandBar.SecondaryCommands>
<AppBarButton Name="shareButton" Label="Condividi" x:Uid="condividi" Icon="ReShare"/>
<AppBarButton Name="contactButton" Icon="Contact" x:Uid="contatti" Label="Contatti"/>
</CommandBar.SecondaryCommands>
</CommandBar>
Ich bearbeite meine Frage mit dem Code. Ich benutze kein Flyout. – FilippBert