none
UWP - Adaptive Trigger mit MinWidth und MinHeight RRS feed

  • Frage

  • Ich versuche gerade in meiner App die AdaptiveTrigger einzustellen, kriege es aber nicht hin - 

    ich brauche VisualStates für die Zustände, wenn das Fenster Breit ist und wenn es schmal ist - das funktioniert auch ohne Probleme!

    Jetzt will ich aber auch noch die Trigger dafür einbauen, wenn man das Fenster in der Höhe verändert. Also z.B. ein sehr breites, aber dafür auch ein sehr schmales Bild hat. Und das haut nicht hin, habe es so probiert:

            <!-- Adaptive triggers -->
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="WindowStates" CurrentStateChanged="AdaptiveStates_CurrentStateChanged">
    
            		<VisualState x:Name="DefaultState_Portrait">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowHeight="700"/>
            				<AdaptiveTrigger MinWindowWidth="720" />
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Breit und hoch -->
            			</VisualState.Setters>
            		</VisualState>
    
            		<VisualState x:Name="DefaultState_Landscape">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowHeight="0"/>
            				<AdaptiveTrigger MinWindowWidth="720" />
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Breit und niedrig -->
            			</VisualState.Setters>
            		</VisualState>
    
    
            		<VisualState x:Name="NarrowState_Portrait">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowWidth="0" />
            				<AdaptiveTrigger MinWindowHeight="700"/>
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Schmal und hoch -->
            			</VisualState.Setters>
            		</VisualState>
    
            		<VisualState x:Name="NarrowState_Landscape">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowWidth="0" />
            				<AdaptiveTrigger MinWindowHeight="0"/>
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Schmal und niedrig -->
            			</VisualState.Setters>
            		</VisualState>
    
    
    
            	</VisualStateGroup>
            </VisualStateManager.VisualStateGroups>
    

    Die Adaptive Trigger für MinHeight werden einfach ignoriert. Das Programm wählt nie den Landscape State. Wenn ich die Reihenfolge tausche geht er nur in den Landscape, also springt er immer nur in den ersten VisualState...

    Kann mir da jemand einen Tipp geben?

    Donnerstag, 4. Februar 2016 22:39

Antworten

  • Hallo PHep,

    Würdest Du in jedem visuellen Zustand ein einziges Element AdaptiveTrigger mit zwei Attributen (MinWindowHeight und MinWindowWidth) anstatt der jetzigen zwei Elemente mit je einem Attribut verwenden?

            		<VisualState x:Name="DefaultState_Portrait">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowHeight="700" MinWindowWidth="720" />
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Breit und hoch -->
            			</VisualState.Setters>
            		</VisualState>
    
            		<VisualState x:Name="DefaultState_Landscape">
            			<VisualState.StateTriggers>
            				<AdaptiveTrigger MinWindowHeight="0" MinWindowWidth="720" />
            			</VisualState.StateTriggers>
            			<VisualState.Setters>
            				<!-- Breit und niedrig -->
            			</VisualState.Setters>
            		</VisualState>
    
                            <!--usw.-->

    Für weitere Informationen siehe:  Can I use VisualState to set the size of an instance of AdMediatorControl for Windows UWP?

    Ist das den visuellen Zustandsgruppen übergeordnete Element das Steuerelement (Grid, StackPanel...) oder Page? Wenn es Page ist, verweise ich Dich auf diesen Thread:
    VisualState AdaptiveTrigger not firing

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    • Als Antwort markiert PHep Freitag, 5. Februar 2016 20:59
    Freitag, 5. Februar 2016 15:11
    Moderator