Xamarin.Forms trigger a doppio schermo

Lo Xamarin.Forms.DualScreen spazio dei nomi include due trigger di stato:

  • SpanModeStateTrigger attiva una modifica quando cambia la modalità di VisualState visualizzazione del layout associato.
  • WindowSpanModeStateTrigger attiva una VisualState modifica quando cambia la modalità di visualizzazione della finestra.

Per altre informazioni sui trigger di stato, vedere Trigger di stato.

Trigger dello stato della modalità span

Un oggetto attiva una modifica quando cambia la modalità di estensione SpanModeStateTriggerVisualState del layout associato. Questo trigger ha una singola proprietà associabile:

Nota

Deriva dalla classe e può quindi associare un gestore SpanModeStateTrigger eventi StateTriggerBaseIsActiveChanged all'evento .

L'esempio XAML seguente mostra un Grid oggetto 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 dell'oggetto è verde quando viene visualizzato un solo riquadro, è rosso quando i riquadri vengono visualizzati affiancati ed è viola quando i riquadri vengono visualizzati in alto Grid in basso.

Trigger dello stato della modalità intervallo di finestra

Un WindowSpanModeStateTrigger oggetto attiva una modifica quando cambia la modalità di estensione della VisualState finestra. Questo trigger ha una singola proprietà associabile:

Nota

Deriva dalla classe e può quindi associare un gestore WindowSpanModeStateTrigger eventi StateTriggerBaseIsActiveChanged all'evento .

L'esempio XAML seguente mostra un Grid oggetto 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 dell'oggetto è rosso quando viene visualizzato un solo riquadro, è verde quando i riquadri vengono visualizzati affiancati ed è giallo quando i riquadri vengono visualizzati in alto Grid in basso.