Xamarin.Forms gatilhos de tela dupla
O Xamarin.Forms.DualScreen
namespace inclui dois gatilhos de estado:
SpanModeStateTrigger
dispara umaVisualState
alteração quando o modo de exibição do layout anexado é alterado.WindowSpanModeStateTrigger
dispara umaVisualState
alteração quando o modo de exibição da janela é alterado.
Para obter mais informações sobre gatilhos de estado, consulte Gatilhos de estado.
Gatilho de estado do modo de intervalo
Um SpanModeStateTrigger
dispara uma VisualState
alteração quando o modo de intervalo do layout anexado é alterado. Esse gatilho tem uma única propriedade associável:
SpanMode
, do tipoTwoPaneViewMode
, que indica o modo de intervalo ao qual oVisualState
deve ser aplicado.
Observação
O SpanModeStateTrigger
deriva da StateTriggerBase
classe e, portanto, pode anexar um manipulador de eventos ao IsActiveChanged
evento.
O exemplo XAML a seguir mostra um Grid
que inclui SpanModeStateTrigger
objetos :
<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>
Neste exemplo, os estados visuais são definidos em um Grid
objeto . A cor da tela de fundo do Grid
é verde quando apenas um painel é mostrado, é vermelho quando os painéis são mostrados lado a lado e é roxo quando os painéis são mostrados na parte superior inferior.
Gatilho de estado do modo de intervalo de janela
Um WindowSpanModeStateTrigger
dispara uma VisualState
alteração quando o modo de intervalo da janela é alterado. Esse gatilho tem uma única propriedade associável:
SpanMode
, do tipoTwoPaneViewMode
, que indica o modo de intervalo ao qual oVisualState
deve ser aplicado.
Observação
O WindowSpanModeStateTrigger
deriva da StateTriggerBase
classe e, portanto, pode anexar um manipulador de eventos ao IsActiveChanged
evento.
O exemplo XAML a seguir mostra um Grid
que inclui WindowSpanModeStateTrigger
objetos :
<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>
Neste exemplo, os estados visuais são definidos em um Grid
objeto . A cor da tela de fundo do Grid
é vermelha quando apenas um painel é mostrado, é verde quando os painéis são mostrados lado a lado e é amarelo quando os painéis são mostrados na parte superior inferior.