Aracılığıyla paylaş


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 bir VisualState değişiklik tetikler.
  • WindowSpanModeStateTrigger , pencerenin görünüm modu değiştiğinde bir VisualState 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:

Not

sınıfından SpanModeStateTriggerStateTriggerBase 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:

Not

sınıfından WindowSpanModeStateTriggerStateTriggerBase 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.