Xamarin.Forms déclencheurs double écran
L’espace Xamarin.Forms.DualScreen
de noms comprend deux déclencheurs d’état :
SpanModeStateTrigger
déclenche uneVisualState
modification lorsque le mode d’affichage de la disposition jointe change.WindowSpanModeStateTrigger
déclenche uneVisualState
modification lorsque le mode d’affichage de la fenêtre change.
Pour plus d’informations sur les déclencheurs d’état, consultez Déclencheurs d’état.
Déclencheur d’état du mode Span
Une SpanModeStateTrigger
modification déclenche une VisualState
modification lorsque le mode d’étendue de la disposition jointe change. Ce déclencheur a une seule propriété pouvant être liée :
SpanMode
, de typeTwoPaneViewMode
, qui indique le mode d’étendue auquel l’applicationVisualState
doit être appliquée.
Remarque
SpanModeStateTrigger
dérive de la classe StateTriggerBase
et peut donc attacher un gestionnaire d’événements à l’événement IsActiveChanged
.
L’exemple XAML suivant montre un Grid
qui inclut des objets 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>
Dans cet exemple, les états visuels sont définis sur un Grid
objet. La couleur d’arrière-plan du Grid
volet est verte quand un seul volet est affiché, est rouge lorsque les volets sont affichés côte à côte, et est violet lorsque les volets sont affichés en haut en bas.
Déclencheur d’état du mode d’étendue de fenêtre
Une WindowSpanModeStateTrigger
modification déclenche une VisualState
modification lorsque le mode d’étendue de la fenêtre change. Ce déclencheur a une seule propriété pouvant être liée :
SpanMode
, de typeTwoPaneViewMode
, qui indique le mode d’étendue auquel l’applicationVisualState
doit être appliquée.
Remarque
WindowSpanModeStateTrigger
dérive de la classe StateTriggerBase
et peut donc attacher un gestionnaire d’événements à l’événement IsActiveChanged
.
L’exemple XAML suivant montre un Grid
qui inclut des objets 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>
Dans cet exemple, les états visuels sont définis sur un Grid
objet. La couleur d’arrière-plan du Grid
volet est rouge quand un seul volet est affiché, est vert lorsque les volets sont affichés côte à côte, et est jaune lorsque les volets sont affichés en haut en bas.