Modern UI for WPF 开源项目(4):使用预定义的页面布局

Modern UI for WPF实质就是使用了一套预先义的页面布局。一个Modern UI 页面是一个继承于control的用户控件,用于在Modern Window的内容区展示内容。页面常在Modern Window 菜单中通过使用ModernWindow.MenuLinkGroups属性来引用。本篇将介绍各类布局并展示如何使用它们。

提示:描述页面布局作为visual studio 2012 项模板也是很有用的,更多内容请看:Modern UI for WPF Templates

基本布局

基本布局使用所有可能的内容空间。所有必须的都通过设置页面的根风格设置为ContentRoot来完成,这确保了内容适当校正。使用一个ScrollViewer控件以确保所有内容可以访问。

<Grid Style="{StaticResource ContentRoot}">
  <ScrollViewer>
    <StackPanel>
      <TextBlock Text="LOREM IPSUM" Style="{StaticResource Heading2}" />
    </StackPanel>
  </ScrollViewer>
</Grid>

Split layout

分割布局将页面的内容分成两列。资源的SplitLeft和SplitRight提供了适当的边距。

<Grid Style="{StaticResource ContentRoot}">
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="6"/>
    <ColumnDefinition Width="*"/>
  </Grid.ColumnDefinitions>

  <ScrollViewer Margin="{StaticResource SplitLeft}">
    .. left content ..
  </ScrollViewer>
  <GridSplitter Grid.Column="1" />
  <ScrollViewer Grid.Column="2 " Margin="{StaticResource SplitRight}">
    .. right content ..
  </ScrollViewer>
</Grid>

List layout

列表布局特点是提供一个列表选项在页面左边,选择后的页面被显示在右边的ModernFrame里。使用ModernTab控件并指定一个列表链接。确保ModernTab.Layout已经设置到列表里了。

<Grid Style="{StaticResource ContentRoot}">
  <mui:ModernTab SelectedSource="/Content/LoremIpsum.xaml#1" Layout="List">
    <mui:ModernTab.Links>
      <mui:Link DisplayName="Lorem Ipsum 1" Source="/Content/LoremIpsum.xaml#1" />
      <mui:Link DisplayName="Lorem Ipsum 2" Source="/Content/LoremIpsum.xaml#2" />
    </mui:ModernTab.Links>
  </mui:ModernTab>
</Grid>

Tab layout

tab布局显示tab项目到页面的右边。它用于完成相同的ModernTab控件左为列表布局,唯一不同的是布局必须设置到Tab。你可以使用tab布局到主页面,它有一个基础的,分割的或列表布局,如下所示:

<Grid Style="{StaticResource ContentRoot}">
  <mui:ModernTab SelectedSource="/Content/LoremIpsum.xaml#1" Layout="Tab">
    <mui:ModernTab.Links>
      <mui:Link DisplayName="Lorem Ipsum 1" Source="/Content/LoremIpsum.xaml#1" />
      <mui:Link DisplayName="Lorem Ipsum 2" Source="/Content/LoremIpsum.xaml#2" />
    </mui:ModernTab.Links>
  </mui:ModernTab>
</Grid>

原文地址:https://www.cnblogs.com/wangchunming/p/2991014.html