是否有WPF相当于UWP的SplitView汉堡菜单?

BCA*_*BCA 10 .net wpf uwp

通用Windows平台中的汉堡式SplitView控件是完美的,IMO.但是,我的项目有一个WPF前端.

有人知道WPF等同于此(最好是开源)吗?

igo*_*shi 7

MahappsMetro现在非常好

汉堡包图像

  • 汉堡菜单,https://github.com/MahApps/MahApps.Metro/tree/develop/src/MahApps.Metro/Controls/HamburgerMenu (3认同)

Mus*_*ion 5

使用GridSplitter控件和StoryBoard,您可以非常轻松地进行设置。您可能需要稍微调整一下这段代码,使其看起来像汉堡包,但这应该会让您顺利进行。

<UserControl
x:Class="Namespace.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="mainPage">

<Grid>
    <Grid.Resources>
        <Storyboard x:Name="CloseLeft">
            <DoubleAnimation x:Name="animNavLinksClose"
                             Storyboard.TargetName="mainPage" Storyboard.TargetProperty="NavLinksWidth"
                             To="0.0" Duration="00:00:00.2" />
        </Storyboard>
        <Storyboard x:Name="OpenLeft">
            <DoubleAnimation x:Name="animNavLinksOpen"
                             Storyboard.TargetName="mainPage" Storyboard.TargetProperty="NavLinksWidth"
                             From="0" To="170" Duration="00:00:00.2" />
        </Storyboard>
    </Grid.Resources>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="170" x:Name="NavLinksColumn" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <Grid x:Name="grdNavLinks" Grid.Column="0">
        <!-- Navigation Buttons -->
    </Grid>

    <GridSplitter x:Name="spltNavLinks" Grid.Column="1" />

    <Grid x:Name="contentSection" Grid.Column="2">
        <!-- Content or Frame -->
    </Grid>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

然后你可以从代码隐藏中调用你的故事板,如下所示

// Begin Opening Animation
OpenLeft.Begin();

// Begin Closing Animation
CloseLeft.Begin();
Run Code Online (Sandbox Code Playgroud)