|
20 | 20 | </backendAvailabilityConverters:BoolToImageConverter> |
21 | 21 |
|
22 | 22 | <backendAvailabilityConverters:BoolToAvailabilityTextConverter x:Key="BoolToAvailabilityTextConverter" /> |
| 23 | + |
| 24 | + <!-- This style is required since the Fluent theme currently applied ControlTemplate arranges top-level items |
| 25 | + with its own horizontal panel. Setting ItemsPanel directly on Menu, as done previously, doesn't touch that |
| 26 | + panel, so MenuItems stay horizontal. --> |
| 27 | + <Style x:Key="VerticalMenu" TargetType="{x:Type Menu}" BasedOn="{StaticResource {x:Type Menu}}"> |
| 28 | + <Setter Property="Template"> |
| 29 | + <Setter.Value> |
| 30 | + <ControlTemplate TargetType="{x:Type Menu}"> |
| 31 | + <Border |
| 32 | + Background="{TemplateBinding Background}" |
| 33 | + BorderBrush="{TemplateBinding BorderBrush}" |
| 34 | + BorderThickness="{TemplateBinding BorderThickness}" |
| 35 | + Padding="{TemplateBinding Padding}"> |
| 36 | + <!-- ItemsPresenter ensures ItemsPanelTemplate below is honored --> |
| 37 | + <ScrollViewer HorizontalScrollBarVisibility="Disabled" |
| 38 | + VerticalScrollBarVisibility="Auto" |
| 39 | + CanContentScroll="True"> |
| 40 | + <ItemsPresenter /> |
| 41 | + </ScrollViewer> |
| 42 | + </Border> |
| 43 | + </ControlTemplate> |
| 44 | + </Setter.Value> |
| 45 | + </Setter> |
| 46 | + |
| 47 | + <!-- Now this actually controls the top-level layout --> |
| 48 | + <Setter Property="ItemsPanel"> |
| 49 | + <Setter.Value> |
| 50 | + <ItemsPanelTemplate> |
| 51 | + <VirtualizingStackPanel Orientation="Vertical" /> |
| 52 | + </ItemsPanelTemplate> |
| 53 | + </Setter.Value> |
| 54 | + </Setter> |
| 55 | + </Style> |
23 | 56 | </Window.Resources> |
24 | 57 | <DockPanel> |
25 | 58 | <StatusBar DockPanel.Dock="Bottom"> |
|
42 | 75 | </Grid.ColumnDefinitions> |
43 | 76 | <StackPanel Grid.Column="0" Margin="{StaticResource DefaultMargin}"> |
44 | 77 | <Label HorizontalAlignment="Center">Views</Label> |
45 | | - <Menu> |
46 | | - <Menu.ItemsPanel> |
47 | | - <ItemsPanelTemplate> |
48 | | - <VirtualizingStackPanel Orientation="Vertical" /> |
49 | | - </ItemsPanelTemplate> |
50 | | - </Menu.ItemsPanel> |
| 78 | + <Menu Style="{StaticResource VerticalMenu}"> |
51 | 79 | <MenuItem Header="_1 - Tasks List" Click="NavigateToTaskList" /> |
52 | 80 | <MenuItem Header="_2 - Project Tree" Click="NavigateToProjectTree" /> |
53 | 81 | </Menu> |
|
0 commit comments