Ich habe Probleme, den Visual State Manager zu veranlassen, die HorizontalAlignment/VerticleAlignment des Hauptgitters meiner Anwendung korrekt zu ändern.UWP Grid.HorizontalAlignment ändern, um mit VisualStateManager zu strecken/zu gehen
Für Bildschirmgrößen, die auf dem Telefon verwendet werden, möchte ich, dass sich die HorizontalAlignment/VerticleAlignment streckt, wobei Height/Width auf Auto eingestellt ist.
Für Desktop sollte es links/oben mit Höhe/Breite auf eine bestimmte Größe festgelegt werden. Aus welchem Grunde auch immer, wenn ich versuche zu Chaos mit der Ausrichtung wirkt es etwas eigenartig und nicht tut, was ich will
Hier ist ein Beispiel dafür, was ich versucht habe:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="PhoneView">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Grid.HorizontalAlignment" Value="Stretch"/>
<Setter Target="Grid.VerticleAlignment" Value="Stretch"/>
<Setter Target="Grid.Height" Value="Auto"/>
<Setter Target="Grid.Width" Value="Auto"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="DesktopSmall">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1920"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Grid.HorizontalAlignment" Value="Left"/>
<Setter Target="Grid.VerticleAlignment" Value="Top"/>
<Setter Target="Grid.Height" Value="1280"/>
<Setter Target="Grid.Width" Value="1920"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
Ein weiteres Problem ist, wenn ich versuche zu setzen die maximale Auflösung auf 1920x1280, wenn ich die Höhe/Breite des Rasters manuell festlegen, schneidet die Windows-Taskleiste (die OS-Taskleiste, nicht die Anwendungs-App-Leiste/Befehlsleiste) einen Teil meiner Anwendung ab. Ich möchte die Ausrichtung nicht strecken, weil ich versuche, die Echtzeitdehnung der Ansicht zu begrenzen.
Danke! Lassen Sie mich wissen, wenn mehr Details benötigt werden.
Ist 'Grid' der Name Ihres' Grid'? Wenn ja, ändern Sie es in einen anderen Namen. Wenn nein, dann benutze 'Grid' Namen anstelle von' Grid'. –
Grid ist nicht der Name meines Grids. Ich habe "Container" verwendet, also Container.HorizontalAlignment zum Beispiel. –
Ich habe Gitter nur in diesem Beispiel als Platzhalter verwendet, daher wäre es klar, dass es sich um ein Gitter handelt, das ich verwendet habe. –