美文网首页.NET
UWP汉堡菜单

UWP汉堡菜单

作者: 丶PanPan | 来源:发表于2016-03-17 00:48 被阅读961次

在UWP中引入了汉堡菜单,我们先看下效果图

汉堡菜单

菜单项

    public class MenuItem
    {
        public Symbol Icon { get; set; }
        public string Text { get; set; }
    }

XAML

<Page.Resources>
        <ResourceDictionary>
            <DataTemplate x:Key="MenuItemDataTemplate">
                <StackPanel Orientation="Horizontal">
                    <SymbolIcon Symbol="{Binding Icon}" />
                    <TextBlock Text="{Binding Text}" Margin="18" />
                </StackPanel>
            </DataTemplate>
        </ResourceDictionary>
    </Page.Resources>
    <Grid x:Name="rootGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <SplitView x:Name="mainSplitView" OpenPaneLength="150" CompactPaneLength="45" PaneBackground="LightGray" DisplayMode="CompactOverlay">
            <SplitView.Pane>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="hanburgButton" FontFamily="Segoe MDL2 Assets" Content="" FontSize="24" Click="hanburgButton_Click" />
                        <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" FontSize="18" Text="汉堡菜单"/>
                    </StackPanel>
                    <ListView Grid.Row="1" x:Name="mainListView" ItemsSource="{Binding menuItems}" ItemTemplate="{StaticResource MenuItemDataTemplate}" />
                </Grid>
            </SplitView.Pane>
            <Frame x:Name="splitVewFrame" Margin="0,10" />
        </SplitView>
    </Grid>

添加菜单项数据源

   ObservableCollection<MenuItem> menuItems = new ObservableCollection<MenuItem>()
        {
            new MenuItem() { Icon=Symbol.People,Text="People"},
             new MenuItem() { Icon=Symbol.Phone,Text="Phone"},
              new MenuItem() { Icon=Symbol.Message,Text="Message"},
               new MenuItem() { Icon=Symbol.Mail,Text="Mail"}
        };
            mainListView.ItemsSource = menuItems;

汉堡按钮切换SplitView收起折叠状态

 private void hanburgButton_Click(object sender, RoutedEventArgs e)
        {
            mainSplitView.IsPaneOpen = !mainSplitView.IsPaneOpen;
        }

SplitView常用属性

  • CompactPaneLength
    设置SplitView收起的长度
  • OpenPaneLength
    设置SplitView打开的长度
  • DisplayMode
    Overlay:窗格打开时会覆盖内容,且不会占据控件布局中的空间。
    Inline: 窗格及内容是并行显示的,并占据控件布局中的空间。
    CompactOverlay:定义的窗格数量及内容是并行显示的,并占据控件布局中的空间。窗格的其余部分打开时会覆盖内容,且不会占据控件布局中的空间。
    CompactInline:定义的窗格数量及内容是并行显示的,并占据控件布局中的空间.窗格的其余部分打开时会将内容推到侧边,且会占据控件布局中的空间.

参考msdn

相关文章

  • UWP汉堡菜单

    在UWP中引入了汉堡菜单,我们先看下效果图 菜单项 XAML 添加菜单项数据源 汉堡按钮切换SplitView收起...

  • Android 自定义View绘制汉堡菜单

    汉堡菜单,其实就是三条横杠,Google Material Design中一般用来做侧边栏开关,微软的UWP也是同...

  • UWP汉堡菜单之MVVM模式实现

    小广告今年开始使用简书,同时也产生了写博文的兴趣了,在写完文章发现没有.NET专题,于是创建了.NET专题也希望大...

  • SAP 电商云 Spartacus UI 的自定义 hambur

    什么是 hamburger menu? 汉堡菜单或汉堡图标是网站和应用程序中通常打开到侧边菜单或导航抽屉中的按钮。...

  • css3 实现汉堡包式菜单

    title: css 实现汉堡包式菜单tags: csstime: 2018/12/01 CSS3 实现汉堡包式菜...

  • 2016-04-05 windows 资源管理器概念

    根据官方 UWP 设计模板针对触控做了尺寸优化 整合了 ribbon 菜单和地址栏,更加减少 UI 元素对纵向空间...

  • 何时使用汉堡包菜单设计

    汉堡包菜单,也叫侧边栏菜单。它由三个堆叠线条(你可以形象的想象成汉堡包中上下的两个面包和中间的肉)的图标用于表示菜...

  • 多邻国单词

    餐厅 menu 菜单 sandwich 三明治 burger 汉堡包 restaurant 饭店 dish 盘子 ...

  • 汉堡菜单的使用注意事项

    本文主要翻译自“Don't Make These Mobile Menu Mistakes” “三条杠”的汉堡菜单...

  • [译]《Motion Design for iOS》(四十三)

    构建一个动画的汉堡按钮 汉堡按钮和滑出式菜单可能是整个产业中最两极分化的界面元素。苹果的狂热支持者反对汉堡按钮和相...

网友评论

    本文标题:UWP汉堡菜单

    本文链接:https://www.haomeiwen.com/subject/slfclttx.html