2016-04-20 13 views
0

Gibt es Möglichkeiten, verschiedene XAML-Element-Eigenschaften für verschiedene Geräte zu verwenden? Zum Beispiel möchte ich verschiedene Ränder auf Desktop-Geräten und Mobiltelefonen anwenden. Vielleicht gibt es einen anderen Weg, um dieses Problem zu lösen?Verschiedene XAML auf Desktop-Geräten und Telefonen

+0

welche Art von Elemente? Wenn Sie den DataTemplatee-Selektor verwenden, kann der Selektor das Gerät abrufen und das richtige Element auswählen. –

Antwort

1

Es gibt viele Möglichkeiten, dies zu tun: für kleinere Änderungen

von Visual State Manager

Sie können Sie es in Ihrem XAML zum Beispiel auf Basis unterschiedlicher Auflösung:

<VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="ResponsiveLayout"> 
      <VisualState x:Name="NarrowLayout"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="0" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Property="MyGrid.Margin" Value="5" /> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="WideLayout"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="1024" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Property="MyGrid.Margin" Value="15" /> 
       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
</VisualStateManager.VisualStateGroups> 

Different XAMLs

Verwenden Sie es für völlig anderes Layout für verschiedene Geräte, auch mehr Möglichkeiten, dies zu tun:

  1. Ordner erstellen mit dem Namen DeviceFamily- [concreteDevice] für verschiedene Gerätefamilie und neue XAML-Ansicht (nur Ansicht, wenn Sie Code-Behind das gleiche für alle Geräte behalten möchten, wenn Sie auch andere Code-Behind möchten, verwenden Sie Leere Seite - gleiche für die nächste Möglichkeit) für alle Seiten, die Sie anders machen möchten (gute Wahl für viele Seiten): Example

  2. erstellen gerade neue XAML-Ansicht mit genauen Suffix für verschiedene Gerätefamilie in Ihrer Lösung, vielleicht einfacher für nur ein oder zwei modifizierte Seiten, zum Beispiel: enter image description here

0

Sie sollten zu VisualStateManager class schauen.

Sie können auch unter this blog post for weitere Informationen dazu finden, wie Sie Ihre XAML-basierten Anwendungen ansprechen können.

Verwendung des eingebauten in AdaptiveTrigger als die StateTrigger des Visual mit einem MinWindowHeight und/oder MinWindowWidth Eigenschaft, visuelle Zustände auf app Fenster Höhe/Breite basierend ändern.

Verwandte Themen