Xamarin.Forms Triggery se dvěma obrazovkami
Obor Xamarin.Forms.DualScreen
názvů obsahuje dvě aktivační události stavu:
SpanModeStateTrigger
VisualState
aktivuje změnu, když se změní režim zobrazení připojeného rozložení.WindowSpanModeStateTrigger
VisualState
aktivuje změnu, když se změní režim zobrazení okna.
Další informace o aktivačních událostech stavu najdete v tématu Aktivační události stavu.
Aktivační událost stavu režimu spanu
Když se změní režim rozsahu připojeného rozložení, aktivuje VisualState
se SpanModeStateTrigger
změna. Tento trigger má jednu vlastnost s možností vytvoření vazby:
SpanMode
, typuTwoPaneViewMode
, který označuje režim rozsahu, na kterýVisualState
se má použít.
Poznámka:
Odvozena SpanModeStateTrigger
z StateTriggerBase
třídy a proto může připojit obslužnou rutinu události k IsActiveChanged
události.
Následující příklad XAML ukazuje Grid
, že obsahuje SpanModeStateTrigger
objekty:
<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>
V tomto příkladu jsou stavy vizuálů nastaveny na Grid
objekt. Barva Grid
pozadí je zelená, když se zobrazí jenom jedno podokno, je červená, když jsou podokna zobrazena vedle sebe, a je fialová, když jsou podokna zobrazena nahoře dole.
Trigger stavu režimu intervalu okna
Když se změní režim rozsahu okna, aktivuje VisualState
se WindowSpanModeStateTrigger
změna. Tento trigger má jednu vlastnost s možností vytvoření vazby:
SpanMode
, typuTwoPaneViewMode
, který označuje režim rozsahu, na kterýVisualState
se má použít.
Poznámka:
Odvozena WindowSpanModeStateTrigger
z StateTriggerBase
třídy a proto může připojit obslužnou rutinu události k IsActiveChanged
události.
Následující příklad XAML ukazuje Grid
, že obsahuje WindowSpanModeStateTrigger
objekty:
<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>
V tomto příkladu jsou stavy vizuálů nastaveny na Grid
objekt. Barva Grid
pozadí je červená, když se zobrazí jenom jedno podokno, je zelená, když jsou podokna zobrazená vedle sebe, a je žlutá, když jsou podokna zobrazena nahoře dole.