【发布时间】:2018-01-01 13:30:41
【问题描述】:
目前,我正在使用 Grid 或 Buttons 作为导航键。这很可怕,但可以完成工作。
这是 XAML 块:
<Button x:Name="ShowMainMenu" Grid.Column="0" Margin="5" Content="Main Menu"/>
<Button x:Name="ShowReportsMenu" Grid.Column="2" Margin="5" Content="Reports"/>
<Button x:Name="Reset" Grid.Column="4" Margin="5" Content="Reset"/>
<Button x:Name="TryClose" Grid.Column="6" Margin="5" Content="Close"/>
顺便说一句,我使用的是 Caliburn.micro,因此命名按钮足以将它们绑定到正确的命令。
现在,我希望他们将它们放入汉堡菜单中。
到目前为止我尝试过的是这样的:
<Controls:HamburgerMenu >
<Controls:HamburgerMenu.ItemTemplate>
<DataTemplate DataType="{x:Type Controls:HamburgerMenuGlyphItem}">
<Grid Height="48">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="48" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="12" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Glyph}" />
<TextBlock Grid.Column="1" VerticalAlignment="Center" FontSize="16" Text="{Binding Label}" />
</Grid>
</DataTemplate>
</Controls:HamburgerMenu.ItemTemplate>
<Controls:HamburgerMenu.ItemsSource>
<Controls:HamburgerMenuItemCollection>
<Controls:HamburgerMenuGlyphItem Glyph="1" Label="Main Menu" cal:Message.Attach="[Event Click] = [Action ShowMainMenu]"/>
</Controls:HamburgerMenuItemCollection>
</Controls:HamburgerMenu.ItemsSource>
</Controls:HamburgerMenu>
但这不起作用,因为Controls:HamburgerMenuGlyphItem 不是FrameworkElement。
顺便说一下,过渡视图是这样实现的:
那么,如何将我的一堆 Buttons 翻译成 HamburgerMenu?我也找不到 Caliburn.micro 的 HamburgerMenu 的正确文档。
【问题讨论】:
标签: wpf xaml caliburn.micro mahapps.metro hamburger-menu