• Hub(中心)
  • 中心页是用户进入应用的入口点。中心页在丰富的平移视图中显示内容,这样用户一眼就能看见新鲜有趣的内容,从而吸引他们深入了解你的应用中的更多内容。中心显示不同的内容类别,每个类别映射到应用的分区页中。每个部分都应该显示内容或功能。中心应该提供许多可以看到的变化,吸引用户,并将他们吸引到应用的各个部分。

    XAML Hub 控件提供元素帮助你为应用更轻松地实现中心设计模式。与从单独源显示数据的 GridViewListView 控件不同,每个中心分区都可显示来自不同源的数据。任何 XAML 内容均可用于创建视觉效果丰富的中心页。若要开始快速创建带有 Hub 页的应用,请使用 Microsoft Visual Studio 2013 中的“中心应用”模板。

    将头文件添加到 Hub,让用户知道你的中心的内容。它通常是应用的名称。你可以使用简单文本 Header,也可以定义使用任何 XAML 内容的 HeaderTemplate。切记,虽然你可以在头中使用任意内容,但头的高度将会影响中心分区内容中可用的垂直空间量。头仍然固定在其原位置,不会随中心分区滚动。

    中心分区

    将中心的内容放在各种 HubSection 控件中。与中心一样,HubSection 包含 HeaderHeaderTemplate 属性,你可以使用这些属性为分区设置可选头。还可以将分区的头设置为交互式头。通常,用户可点击交互头转到相应的应用分区页面。当其 IsHeaderInteractive 属性为 true 时,默认头包括 V 型字型,以及"悬停"和"按下"视觉状态。如果使用自定义 HeaderTemplate,请提供类似的视觉提示,表明该头为交互式头。

    不要将内容直接添加到中心分区,而应在 DataTemplate 对象中定义 HubSection 的内容。可以通过内联方式定义内容,也可以将内容绑定到数据源。任何有效 XAML 均可在中心分区中使用。

  • HubDemo.xaml
    <Page
    x:Class="vs2013win8._1.AppBarDemo"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:vs2013win8._1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="Transparent">
    <Grid.ChildrenTransitions>
    <TransitionCollection>
    <EntranceThemeTransition/>
    </TransitionCollection>
    </Grid.ChildrenTransitions>
    <Hub DefaultSectionIndex="1" SectionHeaderClick="Hub_SectionHeaderClick">
    <Hub.Header>
    <!--
    后退按钮和页标题
    -->
    <Grid>
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="80"/>
    <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Button x:Name="backButton" Margin="-1,-1,39,0" Command="{Binding NavigationHelper.GoBackCommand, ElementName=pageRoot}"
    Style="{StaticResource NavigationBackButtonNormalStyle}"
    VerticalAlignment="Top"
    AutomationProperties.Name="Back"
    AutomationProperties.AutomationId="BackButton"
    AutomationProperties.ItemType="Navigation Button"/>
    <TextBlock x:Name="pageTitle" Text="Title" Style="{StaticResource HeaderTextBlockStyle}" Grid.Column="1"
    IsHitTestVisible="false" TextWrapping="NoWrap" VerticalAlignment="Top"/>
    </Grid>
    </Hub.Header> <!--hub 的第 1 个 section-->
    <HubSection Width="780" Margin="0,0,80,0">
    <HubSection.Background>
    <ImageBrush Stretch="UniformToFill" ImageSource="/Assets/login.jpg" />
    </HubSection.Background>
    </HubSection> <!--hub 的第 2 个 section-->
    <HubSection Width="500" Header="Section 2" Name="s2" IsHeaderInteractive="True">
    <DataTemplate>
    <Grid>
    <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Image Stretch="Fill" Width="420" Height="280"/>
    <TextBlock Style="{StaticResource SubheaderTextBlockStyle}" Grid.Row="1" Margin="0,10,0,0" TextWrapping="Wrap"
    Text="Lorem ipsum dolor sit nonumy sed consectetuer ising elit, sed diam"/>
    <TextBlock Style="{StaticResource TitleTextBlockStyle}" Grid.Row="2" Margin="0,10,0,0"
    Text="Description text:"/>
    <TextBlock Style="{StaticResource BodyTextBlockStyle}" Grid.Row="3"
    Text="Lorem ipsum dolor sit amet, consectetuer ising elit, sed diam nonummy nibh uismod tincidunt ut laoreet suscipit lobortis ni ut wisi quipexerci quis consequat minim veniam, quis nostrud exerci tation ullam corper. Lorem ipsum dolor sit amet, consectetuer ising elit, sed diam nonummy nibh uismod tincidunt ut laoreet suscipit lobortis ni ut wisi quipexerci quis consequat minim veniam, quis nostrud exerci tation ullam corper. "/>
    </Grid>
    </DataTemplate>
    </HubSection> <!--hub 的第 3 个 section-->
    <HubSection Width="520" Header="Section 3" Name="s3" IsHeaderInteractive="True">
    <DataTemplate>
    <Grid>
    <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <TextBlock Style="{StaticResource TitleTextBlockStyle}" Margin="0,0,0,10"
    Text="Item Title" />
    <TextBlock Style="{StaticResource SubheaderTextBlockStyle}" Grid.Row="1"
    Text="Quisque in porta lorem dolor amet sed consectetuer ising elit, sed diam non my nibh uis mod wisi quip."/>
    <TextBlock Style="{StaticResource SubtitleTextBlockStyle}" Grid.Row="2" Margin="0,20,0,0"
    Text="Item Sub Title"/>
    <TextBlock Style="{StaticResource BodyTextBlockStyle}" Grid.Row="3"
    Text="Lorem ipsum dolor sit amet, consectetuer ising elit, sed diam nonummy nibh uismod tincidunt ut laoreet suscipit lobortis ni ut wisi quipexerci quis consequat minim veniam, quis nostrud exerci tation ullam corper. Lorem ipsum dolor sit amet, consectetuer ising elit, sed diam nonummy nibh uismod tincidunt ut laoreet suscipit lobortis ni ut wisi quipexerci quis consequat minim veniam, quis nostrud exerci tation ullam corper."/>
    </Grid>
    </DataTemplate>
    </HubSection> </Hub> </Grid> </Page>
     private async void Hub_SectionHeaderClick(object sender, HubSectionHeaderClickEventArgs e)
    {
    switch (e.Section.Name)
    {
    case "s2":
    await new MessageDialog("点击了 Section 2", "提示").ShowAsync();
    break;
    case "s3":
    await new MessageDialog("点击了 Section 3", "提示").ShowAsync();
    break;
    default:
    break;
    }
    }

Hub control的更多相关文章

  1. What Controls are new for windows phone 8.1

    http://www.jayway.com/2014/04/08/windows-phone-8-1-for-developerswhat-controls-are-new-2/ What contr ...

  2. Windows 8.1 新控件和功能:

    http://msdn.microsoft.com/zh-cn/library/windows/apps/bg182878.aspx#five 将 XAML 树呈现为位图: 适用于 Windows 8 ...

  3. Hub, bridge, switch, router, gateway的区别

    这些概念性的东西,其实,有的区别不是很大,有的区别很大. Hub 就是一个重复转发器,就是从一个port接受到数据后,就会原样的向其他的所有端口发送刚才收到的数据.个人理解为是工作在物理层的东西.但是 ...

  4. Mobile Service更新和 Notification Hub 对Android的支持

    本周,我们要推出一些更新,使移动服务成为移动应用程序更强大.更灵活的后端,同时推出一个与移动服务或网站结合使用的免费 20MB SQL 数据库,并且将支持通过Notification Hub中的 GC ...

  5. 背水一战 Windows 10 (49) - 控件(集合类): Pivot, Hub

    [源码下载] 背水一战 Windows 10 (49) - 控件(集合类): Pivot, Hub 作者:webabcd 介绍背水一战 Windows 10 之 控件(集合类) Pivot Hub 示 ...

  6. Method, apparatus, and system for speculative abort control mechanisms

    An apparatus and method is described herein for providing robust speculative code section abort cont ...

  7. HUB、Switch、Router在OSI模型层次信息

    序 (HUB)集线器工作在局域网(LAN)环境,像网卡一样,应用于OSI参考模型第一层,因此又被称为物理层设备. Switch交换机工作在OSI第2层数据链路层 Router路由器工作在OSI第3层网 ...

  8. ignore users and roles by filter in sql source control

    https://www.red-gate.com/hub/product-learning/sql-source-control/source-controlling-database-permiss ...

  9. Event Hub小白入门指南

    Event Hub事件中心 本文的目的在于用最白的大白话,让你从“完全不懂”开始,理解什么是分布式大数据流平台Event Hub,并且理解它的关键概念,并且初步理解其收发数据API. 定义,Event ...

随机推荐

  1. 轻量级的.Net ORM框架介绍

    轻量型 ORM 组件 FluentData 官网https://fluentdata.codeplex.com/ http://www.cnblogs.com/babietongtianta/p/43 ...

  2. Ubuntu下tftp服务搭建

    1.安装软件包 sudo apt-get install tftpd tftp xinetd 2.建立配置文件 在/etc/xinetd.d/下建立一个配置文件tftp sudo vi /etc/xi ...

  3. Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split(&quo ...

  4. EXT dateRange

    VTYPES: Ext.apply(Ext.form.VTypes, { daterange: function (val, field) { var date = field.parseDate(v ...

  5. WPF异步调用

    this.Dispatcher.BeginInvoke(new Action(()=> this.textBlock1.Text = DateTime.Now.ToString("HH ...

  6. ubuntu14.04开启crontab日志

    ubuntu默认没有开启cron日志记录 1. 修改rsyslog sudo vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log # ...

  7. (转)C# Base64

    本文原地址:http://blog.csdn.net/zhoufoxcn/article/details/1497092 作者:周公 using System;using System.Text; n ...

  8. 使用Kinect2.0获取点云以在GLUT中显示

    这篇文章用来记录Kinect2.0如何生成点云. 以下示例源自Kinect提供的example修改完成,其名称会在小标题下方注解. 首先,要获取点云需要获取图像的深度数据和颜色数据.最后再将深度数据与 ...

  9. 举例说明划分子网,路由器IP地址

    划分子网的方法是从网络的主机号借用若干位作为子网号,主机号相应地减少了同样的位数.在划分子网前,IP地址是两级结构的:网络号,主机号. 划分子网后,两级IP地址在本单位内部就变为三级IP地址:网络号, ...

  10. Refs to Components

    一.ref是通过ReactDOM.render返回的 定义在组件上的render方法返回的是一个虚拟的DOM节点,jsx返回的是一个ReactElement,ReactDOM.render返回的是一个 ...