【发布时间】:2021-04-22 09:01:14
【问题描述】:
我有一个登录页面,我想在应用程序启动时在我的主窗口中显示该页面,该页面左侧有一个汉堡菜单。如何隐藏/禁用它?
这是使用 WPF 和 MahApps.Metro 库创建的桌面应用程序。
【问题讨论】:
标签: wpf mahapps.metro
我有一个登录页面,我想在应用程序启动时在我的主窗口中显示该页面,该页面左侧有一个汉堡菜单。如何隐藏/禁用它?
这是使用 WPF 和 MahApps.Metro 库创建的桌面应用程序。
【问题讨论】:
标签: wpf mahapps.metro
根据窗口大小,顶部应显示较大的菜单,或在拆分视图窗格中显示带有菜单的汉堡按钮。此功能由自适应触发器提供。下面的代码 sn-p 根据窗口大小 320 和 720 更改水平菜单和汉堡按钮的可见性。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="MediumState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="HorizontalMenu.Visibility" Value="Visible" />
<Setter Target="HamburgerButton.Visibility" Value="Collapsed" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="XSmallState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="320" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="HamburgerButton.Visibility" Value="Visible" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
窗口大小的典型触发器是 320、548、720 和 1024。
较大窗口的菜单只是在 StackPanel 中定义的:
<StackPanel x:DeferLoadStrategy="Lazy" x:Name="HorizontalMenu" Orientation="Horizontal" Visibility="Collapsed">
<Button Content="One" Style="{StaticResource MenuButtonStyle}" />
<Button Content="Two" Style="{StaticResource MenuButtonStyle}" />
</StackPanel>
【讨论】: