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
Antwort
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:
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):
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:
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.
- 1. Wie können Sie in Telefonen nur Hoch- und Querformat aktivieren, funktioniert "sensorPortrait" nicht auf Telefonen?
- 2. Wie man Berechtigungen auf Xiomi und Huawei Telefonen programmatisch annimmt
- 3. Integrieren Sie verschiedene XAML-Seiten mit mainWindow.xaml
- 4. Verschiedene Farbe auf jeder Seite in Border in WPF XAML?
- 5. Kann ich TYPE_LINEAR_ACCELERATION auf allen Telefonen verwenden?
- 6. SQLiteAssetHelper - Probleme auf bestimmten Telefonen, z. OnePlus
- 7. Ausführen von J2ME-Apps auf Android-Telefonen
- 8. Sicherheitsausnahme WRITE_USE_APP_FEATURE_SURVEY in Samsung-Telefonen
- 9. anderes Ergebnis in verschiedenen Telefonen
- 10. Google Maps wird nicht auf allen Telefonen angezeigt.
- 11. schalte in XAML um verschiedene Kontrollen zu registrieren
- 12. Wie man übermäßige Objekterstellung auf Samsung-Telefonen stoppt?
- 13. Einfache HTTP-Authentifizierung auf Android-Telefonen für Rails-Server
- 14. AllShare Cast/Screen Cast funktioniert nicht auf bestimmten Telefonen
- 15. html5 Beschleunigung nicht durch Audio auf Telefonen ausgelöst
- 16. XAML TextBlock und Laufbindung
- 17. Wie werden verschiedene Enum-Symbole nur mit XAML angezeigt?
- 18. Accelerometer-Codierung funktioniert nicht in allen Telefonen
- 19. XAML x: Name auf Code
- 20. Fenster WPF und XAML Schaltfläche Ändern
- 21. Verschiedene Crawling Verhalten auf Ubuntu und Windows
- 22. XAML DataContext und ViewModel Typ
- 23. WPF - XAML-Dateien ein- und ausblenden, um verschiedene Bildschirmdesigns zu erstellen
- 24. Einstellung XAML Eigenschaftswert auf Benutzerkontrolle
- 25. Ist die Google TTS Engine auf allen Android-Telefonen installiert und wo bekomme ich sie?
- 26. Pandas: verschiedene Funktionen auf verschiedene Spalten anwenden
- 27. WPF XAML und MinWidth und MaxWidth
- 28. Bildlaufleisten mit Ein- und Auszoomen auf XAML Leinwand
- 29. Warte auf Animation, Render zu vervollständigen - XAML und C#
- 30. Partitionierung auf Import/verschiedene
welche Art von Elemente? Wenn Sie den DataTemplatee-Selektor verwenden, kann der Selektor das Gerät abrufen und das richtige Element auswählen. –