Xamarin.Forms çift ekranlı tetikleyiciler
Ad Xamarin.Forms.DualScreen
alanı iki durum tetikleyicisi içerir:
SpanModeStateTrigger
ekli düzenin görünüm modu değiştiğinde birVisualState
değişiklik tetikler.WindowSpanModeStateTrigger
, pencerenin görünüm modu değiştiğinde birVisualState
değişikliği tetikler.
Durum tetikleyicileri hakkında daha fazla bilgi için bkz . Durum tetikleyicileri.
Span modu durum tetikleyicisi
Ekli SpanModeStateTrigger
düzenin yayılma modu değiştiğinde bir VisualState
değişiklik tetikler. Bu tetikleyicinin tek bir bağlanabilir özelliği vardır:
SpanMode
, türüneTwoPaneViewMode
göre, uygulanacağı yayılma modunuVisualState
gösterir.
Not
sınıfından SpanModeStateTrigger
StateTriggerBase
türetilir ve bu nedenle olaya bir olay işleyicisi IsActiveChanged
ekleyebilir.
Aşağıdaki XAML örneğinde nesneleri içeren SpanModeStateTrigger
bir Grid
gösterilmektedir:
<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>
Bu örnekte görsel durumlar bir Grid
nesne üzerinde ayarlanmıştır. Yalnızca bir bölme gösterildiğinde arka plan rengi Grid
yeşil, bölmeler yan yana gösterildiğinde kırmızı ve bölmeler üst altta gösterildiğinde mordur.
Pencere yayılma modu durum tetikleyicisi
Pencerenin WindowSpanModeStateTrigger
yayılma modu değiştiğinde bir VisualState
değişiklik tetikler. Bu tetikleyicinin tek bir bağlanabilir özelliği vardır:
SpanMode
, türüneTwoPaneViewMode
göre, uygulanacağı yayılma modunuVisualState
gösterir.
Not
sınıfından WindowSpanModeStateTrigger
StateTriggerBase
türetilir ve bu nedenle olaya bir olay işleyicisi IsActiveChanged
ekleyebilir.
Aşağıdaki XAML örneğinde nesneleri içeren WindowSpanModeStateTrigger
bir Grid
gösterilmektedir:
<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>
Bu örnekte görsel durumlar bir Grid
nesne üzerinde ayarlanmıştır. Yalnızca bir bölme gösterildiğinde arka plan rengi Grid
kırmızı, bölmeler yan yana gösterildiğinde yeşil ve bölmeler üst altta gösterildiğinde sarıdır.