Xamarin.Forms trigger a doppio schermo
Lo Xamarin.Forms.DualScreen
spazio dei nomi include due trigger di stato:
SpanModeStateTrigger
attiva unaVisualState
modifica quando cambia la modalità di visualizzazione del layout associato.WindowSpanModeStateTrigger
attiva unaVisualState
modifica quando cambia la modalità di visualizzazione della finestra.
Per altre informazioni sui trigger di stato, vedere Trigger di stato.
Trigger di stato della modalità span
Un SpanModeStateTrigger
attiva una VisualState
modifica quando cambia la modalità span del layout associato. Questo trigger ha un'unica proprietà associabile:
SpanMode
, di tipoTwoPaneViewMode
, che indica la modalità span a cui deve essere applicato l'oggettoVisualState
.
Nota
SpanModeStateTrigger
deriva dalla classe StateTriggerBase
e può quindi allegare un gestore all'evento IsActiveChanged
.
L'esempio di codice XAML seguente illustra un elemento Grid
che include oggetti SpanModeStateTrigger
:
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="GridSingle">
<VisualState.StateTriggers>
<dualScreen:SpanModeStateTrigger SpanMode="SinglePane"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Green" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="GridWide">
<VisualState.StateTriggers>
<dualScreen:SpanModeStateTrigger SpanMode="Wide" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Red" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="GridTall">
<VisualState.StateTriggers>
<dualScreen:SpanModeStateTrigger SpanMode="Tall" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Purple" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
...
</Grid>
In questo esempio gli stati di visualizzazione vengono impostati su un Grid
oggetto . Il colore di sfondo di Grid
è verde quando viene visualizzato un solo riquadro, è rosso quando i riquadri vengono visualizzati affiancati ed è viola quando i riquadri vengono visualizzati in alto in basso.
Trigger di stato della modalità intervallo di finestra
Un WindowSpanModeStateTrigger
attiva una VisualState
modifica quando cambia la modalità di intervallo della finestra. Questo trigger ha un'unica proprietà associabile:
SpanMode
, di tipoTwoPaneViewMode
, che indica la modalità span a cui deve essere applicato l'oggettoVisualState
.
Nota
WindowSpanModeStateTrigger
deriva dalla classe StateTriggerBase
e può quindi allegare un gestore all'evento IsActiveChanged
.
L'esempio di codice XAML seguente illustra un elemento Grid
che include oggetti WindowSpanModeStateTrigger
:
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="NotSpanned">
<VisualState.StateTriggers>
<dualScreen:WindowSpanModeStateTrigger SpanMode="SinglePane"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Red" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Spanned">
<VisualState.StateTriggers>
<dualScreen:WindowSpanModeStateTrigger SpanMode="Wide" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Green" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Tall">
<VisualState.StateTriggers>
<dualScreen:WindowSpanModeStateTrigger SpanMode="Tall" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Yellow" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
...
</Grid>
In questo esempio gli stati di visualizzazione vengono impostati su un Grid
oggetto . Il colore di sfondo di Grid
è rosso quando viene visualizzato un solo riquadro, è verde quando i riquadri vengono visualizzati affiancati ed è giallo quando i riquadri vengono visualizzati in alto in basso.