模板10:使用MasterDetail控件和汉堡菜单

时间:2016-06-23 21:51:24

标签: xaml uwp uwp-xaml template10

我将Template10 Samples项目中的MasterDetail控件(2.方法)包含在一个简单的Template10汉堡菜单应用程序中。它工作正常,但在 VisualStateNarrow MasterCommandBarContent将显示在Hamburger菜单按钮后面。此外,详细视图中的后退按钮也不会“可见”,因为按钮也位于汉堡菜单按钮后面。正是在这个时间,详细页面将显示在母版页旁边,标题内容将以正确的方式显示。当然,这种行为不会发生在具有“普通”PageHeader控件的另一个页面上。我找不到这段xaml代码来解决这个问题。 谢谢你的一些提示

1 个答案:

答案 0 :(得分:0)

解决方案非常简单,只需添加填充

即可
  

DetailsCommandBar

  

MasterCommandBar

这是我的custom.xaml文件的一部分:

    <Style TargetType="localControls:MasterDetailsView">
      <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="localControls:MasterDetailsView">
                <Border
                    x:Name="ControlRoot"
                    Background="{TemplateBinding Background}"
                    BorderBrush="{TemplateBinding BorderBrush}"
                    BorderThickness="{TemplateBinding BorderThickness}">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition x:Name="CommandBarRow" Height="Auto" />
                            <RowDefinition x:Name="ContentRow" Height="*" />
                            <RowDefinition x:Name="MobileCommandBarRow" Height="0" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition x:Name="MasterPane" Width="{Binding MasterPaneWidth, RelativeSource={RelativeSource TemplatedParent}}" />
                            <ColumnDefinition x:Name="DetailsPane" Width="*" />
                        </Grid.ColumnDefinitions>
                        <CommandBar
                            x:Name="DetailsCommandBar"
                            Grid.Row="0"
                            Grid.Column="1"
                            Padding="48,0,0,0">
                          <CommandBar.Content>
                          </CommandBar.Content>
                        </CommandBar>
                        <CommandBar
                            x:Name="MasterCommandBar"
                            Grid.Row="0"
                            Grid.Column="0"
                            Padding="48,0,0,0">
                            <CommandBar.Content>
                            </CommandBar.Content>
                        </CommandBar>
                    </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>