小编Sab*_*jee的帖子

使用Mahapps.Metro在WPF中设计汉堡包菜单

目前,我使用GridButtons住房键进行导航。这很可怕,但可以完成工作。

这是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"/>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在使用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>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为Controls:HamburgerMenuGlyphItem不是FrameworkElement …

wpf xaml caliburn.micro mahapps.metro hamburger-menu

3
推荐指数
1
解决办法
6449
查看次数