2016-04-12 1 views
0

Ich versuche, eine UWP-App zu erstellen, die eine Hub-Komponente verwendet, um 2 HubSections anzuzeigen, wenn im Wide-Modus (Standard) und dann zu zeigen nur eine HubSection wann in Narrow-ModusEinstellung Rasterbreite = "*" in VisualStaatsmanager in Xaml

Mein HubSection ist wie folgt definiert:

<Hub> 
     <HubSection x:Name="Column1" Header="section 1" Background="Cornsilk"> 
     </HubSection> 
     <HubSection x:Name="Column2" Header="section 2" Background="Chocolate"> 
     </HubSection> 
    </Hub> 

Meine Sicht State Manager wird wie folgt definiert:

 <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="AdaptiveStates"> 
      <VisualState x:Name="DefaultState"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="720" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="Column1.Width" Value="500" /> 
        <Setter Target="Column2.Width" Value="700" /> 

       </VisualState.Setters> 
      </VisualState> 

      <VisualState x:Name="NarrowState"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="0" /> 
       </VisualState.StateTriggers> 

       <VisualState.Setters> 
        <Setter Target="Column1.Width" Value="*" /> <--- This line doesn't work as * is not a number 
        <Setter Target="Column2.Width" Value="0" /> 

       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 

die Frage ist, wie kann ich die Breite eines Komponente zu * oder "Verwenden Sie den gesamten verfügbaren Speicherplatz" im Visual State Manager?

+0

Ein Hub ist wahrscheinlich nicht die richtige Kontrolle zu verwenden für diesen Einsatz : https://msdn.microsoft.com/en-us/windows/uwp/layout/navigation-basics – AndrewJE

Antwort

1

Nicht sicher für HubControl, aber ich habe das gleiche mit einem normalen Grid getan (um eine Spalte auszublenden).

Quelle hier: https://github.com/AppCreativity/Kliva/blob/master/src/Kliva/Views/MainPage.xaml#L75

Ich brauchte den columndefinitions einen Namen geben und hier nach dem Lesen der Navigations Richtlinien den in dem visuellen Zustand Manager

+0

Danke. Ich habe ein Umdenken und glaube nicht, dass die Hub-Idee für dieses spezielle Problem am besten funktioniert. Ich werde zu einem Pivot-Steuerelement wechseln und die Daten ein wenig besser reorganisieren. Ihre Antwort wäre der beste Weg, um die obige Frage zu erreichen, also werde ich die Antwort akzeptieren. – AndrewJE