2016-05-11 6 views
0

Nur eine kurze Frage, ich verwende SplitView und ich habe versucht, einen linken Rand zu erstellen, wenn das Fenster geschlossen ist. (Hinweis: Ich habe das Fenster rechts platziert).UWP: Wie wird der Fensterrahmen festgelegt, wenn der Fensterbereich geschlossen ist?

Ist es möglich? Ich habe es versucht:

<SplitView DisplayMode="CompactOverlay" IsPaneOpen="False" OpenPaneLength="320" PanePlacement="Right"> 
    <SplitView.Pane> 
     <Border BorderBrush="black" BorderThickness="1 0 0 0"> 
      ... 
      ... 
      ... 
     </Border> 
    </SplitView.Pane> 
    <SplitView.Content> 
     ... 
     ... 
     ... 
    </SplitView.Content> 
</SplitView> 

Aber die Grenze nur angezeigt, wenn ich das Fenster öffnen.

Sorry für diese dumme Frage, aber UWP ist neu für mich.

Danke.

Antwort

0

Es ist nicht möglich, den Standardstil des Steuerelements zu verwenden. Standardmäßig wird die Scheibe visibility-collapsed gesetzt, wenn die IsPaneOpen Eigenschaft auf false

gesetzt Wenn Sie dies tun möchten, werden Sie Ihren eigenen Stil für die SPLITVIEW- erstellen müssen. Hier

ist der Standardstil (Visual State Manager entfernt wurde)

<Style TargetType="SplitView"> 
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
    <Setter Property="VerticalContentAlignment" Value="Stretch"/> 
    <Setter Property="OpenPaneLength" Value="{ThemeResource SplitViewOpenPaneThemeLength}"/> 
    <Setter Property="CompactPaneLength" Value="{ThemeResource SplitViewCompactPaneThemeLength}"/> 
    <Setter Property="PaneBackground" Value="{ThemeResource SystemControlPageBackgroundChromeLowBrush}"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="SplitView"> 
       <Grid Background="{TemplateBinding Background}"> 


        <!-- Content Area --> 
        <Grid x:Name="ContentRoot" Grid.ColumnSpan="2"> 
         <Border Child="{TemplateBinding Content}"/> 
         <Rectangle x:Name="LightDismissLayer" Fill="Transparent" Visibility="Collapsed"/> 
        </Grid> 

        <!-- Pane Content Area--> 
        <Grid 
         x:Name="PaneRoot" 
         Grid.ColumnSpan="2" 
         HorizontalAlignment="Left" 
         Visibility="Collapsed" 
         Background="{TemplateBinding PaneBackground}" 
         Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"> 
         <Grid.Clip> 
          <RectangleGeometry x:Name="PaneClipRectangle"> 
           <RectangleGeometry.Transform> 
            <CompositeTransform x:Name="PaneClipRectangleTransform"/> 
           </RectangleGeometry.Transform> 
          </RectangleGeometry> 
         </Grid.Clip> 
         <Grid.RenderTransform> 
          <CompositeTransform x:Name="PaneTransform"/> 
         </Grid.RenderTransform> 
         <Border Child="{TemplateBinding Pane}"/> 
         <Rectangle 
          x:Name="HCPaneBorder" 
          x:DeferLoadStrategy="Lazy" 
          Visibility="Collapsed" 
          Fill="{ThemeResource SystemControlForegroundTransparentBrush}" 
          Width="1" 
          HorizontalAlignment="Right"/> 
        </Grid> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style>