• Hub control


    • 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;
                  }
              }
  • 相关阅读:
    WebStorm 使用
    Mac上因磁盘格式导致gulp无限刷新问题
    JS数组随机排序
    Javascript高性能动画与页面渲染
    两列布局,左边固定,右边自适应的三种方法
    google pay app权限使用说明
    javaFX
    https网站引用http路径的js和css失效解决办法
    tomcat笔记
    java sigar.jar
  • 原文地址:https://www.cnblogs.com/Mengyl/p/3745512.html
Copyright © 2020-2023  润新知