| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- x:Class="ControlCatalog.Pages.CommandBarDynamicOverflowPage">
- <UserControl.Resources>
- <StreamGeometry x:Key="AddIcon">M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z</StreamGeometry>
- <StreamGeometry x:Key="SaveIcon">M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z</StreamGeometry>
- <StreamGeometry x:Key="ShareIcon">M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19C20.92,17.39 19.61,16.08 18,16.08Z</StreamGeometry>
- <StreamGeometry x:Key="BoldIcon">M15.6,10.79C17.04,10.07 18,8.64 18,7C18,4.79 16.21,3 14,3H7V21H14.73C16.78,21 18.5,19.37 18.5,17.32C18.5,15.82 17.72,14.53 16.5,13.77C16.2,13.59 15.9,13.44 15.6,13.32V10.79M10,6.5H13C13.83,6.5 14.5,7.17 14.5,8C14.5,8.83 13.83,9.5 13,9.5H10V6.5M13.5,17.5H10V14H13.5C14.33,14 15,14.67 15,15.5C15,16.33 14.33,17.5 13.5,17.5Z</StreamGeometry>
- <StreamGeometry x:Key="ItalicIcon">M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z</StreamGeometry>
- <StreamGeometry x:Key="DeleteIcon">M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z</StreamGeometry>
- <StreamGeometry x:Key="ExportIcon">M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20M16,11V18.1L13.9,16L11.1,18.8L8.3,16L11.1,13.2L9,11.1L16,11Z</StreamGeometry>
- </UserControl.Resources>
- <DockPanel>
- <ScrollViewer DockPanel.Dock="Right" Width="260">
- <StackPanel Margin="12" Spacing="8">
- <TextBlock Text="Configuration" FontWeight="SemiBold" FontSize="16"
- Foreground="{DynamicResource SystemControlHighlightAccentBrush}" />
- <TextBlock Text="Container Width" FontWeight="SemiBold" />
- <Slider x:Name="WidthSlider"
- Minimum="120"
- Maximum="700"
- Value="400"
- ValueChanged="OnWidthChanged" />
- <TextBlock x:Name="WidthLabel"
- Text="400"
- HorizontalAlignment="Center"
- Opacity="0.7" />
- <Separator />
- <CheckBox x:Name="DynamicOverflowCheck"
- Content="IsDynamicOverflowEnabled"
- IsChecked="True"
- IsCheckedChanged="OnDynamicOverflowChanged" />
- <CheckBox x:Name="SecondaryVisibleCheck"
- Content="Include secondary command"
- IsChecked="False"
- IsCheckedChanged="OnSecondaryVisibilityChanged" />
- <Separator />
- <TextBlock Text="Resize to force grouped commands into overflow and verify that primary separators never become leading, trailing, or overflow items."
- FontSize="12"
- Opacity="0.7"
- TextWrapping="Wrap" />
- <Separator />
- <TextBlock Text="Overflow Priority" FontWeight="SemiBold" />
- <TextBlock Text="DynamicOverflowOrder priority (lower = stays visible longer):"
- FontSize="12" Opacity="0.7" TextWrapping="Wrap" />
- <TextBlock Text="0: New, Save (always shown last to overflow)" FontSize="11" Opacity="0.7" />
- <TextBlock Text="1: Share" FontSize="11" Opacity="0.7" />
- <TextBlock Text="2: Bold, Italic" FontSize="11" Opacity="0.7" />
- <TextBlock Text="3: Delete (overflows first)" FontSize="11" Opacity="0.7" />
- </StackPanel>
- </ScrollViewer>
- <Border DockPanel.Dock="Right" Width="1" Background="{DynamicResource SystemControlForegroundBaseMediumLowBrush}" />
- <StackPanel Margin="12" Spacing="8">
- <TextBlock x:Name="StatusText"
- Text="Visible primary: 6 commands, 2 separators
Overflow items: 2 commands, 1 separator
Synthetic overflow divider: present"
- FontSize="12"
- Opacity="0.7" />
- <Border x:Name="BarContainer"
- Width="400"
- HorizontalAlignment="Left"
- BorderBrush="{DynamicResource SystemControlForegroundBaseMediumLowBrush}"
- BorderThickness="1"
- CornerRadius="4"
- ClipToBounds="True">
- <CommandBar x:Name="DemoBar" IsDynamicOverflowEnabled="True">
- <CommandBar.PrimaryCommands>
- <CommandBarButton Label="New" DynamicOverflowOrder="0"><CommandBarButton.Icon><PathIcon Data="{StaticResource AddIcon}" /></CommandBarButton.Icon></CommandBarButton>
- <CommandBarButton Label="Save" DynamicOverflowOrder="0"><CommandBarButton.Icon><PathIcon Data="{StaticResource SaveIcon}" /></CommandBarButton.Icon></CommandBarButton>
- <CommandBarSeparator />
- <CommandBarButton Label="Share" DynamicOverflowOrder="1"><CommandBarButton.Icon><PathIcon Data="{StaticResource ShareIcon}" /></CommandBarButton.Icon></CommandBarButton>
- <CommandBarButton Label="Bold" DynamicOverflowOrder="2"><CommandBarButton.Icon><PathIcon Data="{StaticResource BoldIcon}" /></CommandBarButton.Icon></CommandBarButton>
- <CommandBarSeparator />
- <CommandBarButton Label="Italic" DynamicOverflowOrder="2"><CommandBarButton.Icon><PathIcon Data="{StaticResource ItalicIcon}" /></CommandBarButton.Icon></CommandBarButton>
- <CommandBarButton Label="Delete" DynamicOverflowOrder="3"><CommandBarButton.Icon><PathIcon Data="{StaticResource DeleteIcon}" /></CommandBarButton.Icon></CommandBarButton>
- </CommandBar.PrimaryCommands>
- <CommandBar.SecondaryCommands>
- <CommandBarButton x:Name="DemoSecondaryCommand" Label="Export"><CommandBarButton.Icon><PathIcon Data="{StaticResource ExportIcon}" /></CommandBarButton.Icon></CommandBarButton>
- </CommandBar.SecondaryCommands>
- </CommandBar>
- </Border>
- </StackPanel>
- </DockPanel>
- </UserControl>
|