Xamarin.Forms Kutusunun

Örnek indir Örneği indirin

, Xamarin.FormsCheckBox İşaretlenme veya boş olabilecek bir düğme türüdür. Onay kutusu işaretlendiğinde, açık olduğu kabul edilir. Bir CheckBox boş olduğunda kapalı olarak kabul edilir.

CheckBox adlı bir bool özelliği tanımlar IsChecked , bunun işaretli olup olmadığını gösterir CheckBox . Bu özellik ayrıca bir nesne tarafından desteklenir BindableProperty , yani Stillenebilir ve veri bağlamalarının hedefi olabilir.

Not

IsCheckedBağlanabilir özelliğin Xamarin_Forms IsChecked _BindingMode_TwoWay "Data-LinkType =" Absolute-path ">varsayılan bağlama modu vardır BindingMode.TwoWay .

CheckBoxCheckedChangedIsChecked Kullanıcı düzenlemesi aracılığıyla veya bir uygulama özelliği ayarladığında, özellik değiştiğinde harekete geçirilen bir olayı tanımlar IsChecked . CheckedChangedEventArgsOlaya eşlik eden nesnenin CheckedChanged türünde, adlı tek bir özelliği vardır Valuebool . Olay harekete geçirildiğinde, Value özelliğinin değeri özelliğin yeni değerine ayarlanır IsChecked .

Onay kutusu oluşturma

Aşağıdaki örnek, XAML içindeki bir öğesinin örneğini oluşturmayı gösterir CheckBox :

<CheckBox />

Bu XAML, aşağıdaki ekran görüntüsünde gösterilen görünüme neden olur:

Boş onay kutusu, iOS ve Android ekran görüntüsü

Varsayılan olarak CheckBox boştur. , CheckBox Kullanıcı düzenlemesi tarafından denetlenebilir veya özelliği şu şekilde ayarlanarak yapılabilir IsCheckedtrue :

<CheckBox IsChecked="true" />

Bu XAML, aşağıdaki ekran görüntüsünde gösterilen görünüme neden olur:

Onaylanan onay kutusunun ekran görüntüsü, iOS ve Android

Alternatif olarak, CheckBox kodda bir oluşturulabilir:

CheckBox checkBox = new CheckBox { IsChecked = true };

CheckBox değiştirme durumuna yanıt verme

IsCheckedÖzellik değiştiğinde, Kullanıcı düzenlemesi veya bir uygulama IsChecked özelliği ayarladığında, CheckedChanged olay ateşlenir. Bu olay için bir olay işleyicisi, değişikliğe yanıt vermek için kaydedilebilir:

<CheckBox CheckedChanged="OnCheckBoxCheckedChanged" />

Arka plan kod dosyası olay işleyicisini içerir CheckedChanged :

void OnCheckBoxCheckedChanged(object sender, CheckedChangedEventArgs e)
{
    // Perform required operation after examining e.Value
}

senderBağımsız değişkeni CheckBox Bu olaydan sorumludur. Bu CheckBox nesneyi nesnesine erişmek veya CheckBox aynı olay işleyicisini paylaşan birden çok nesne arasında ayrım yapmak için kullanabilirsiniz CheckedChanged .

Alternatif olarak, olay için olay işleyicisi CheckedChanged kodda kaydedilebilir:

CheckBox checkBox = new CheckBox { ... };
checkBox.CheckedChanged += (sender, e) =>
{
    // Perform required operation after examining e.Value
};

Veri bağlama onay kutusu

CheckedChangedOlay işleyicisi, denetlenen veya boş olarak yanıt vermek için veri bağlama ve Tetikleyiciler kullanılarak ortadan kaldırılabilir CheckBox :

<CheckBox x:Name="checkBox" />
<Label Text="Lorem ipsum dolor sit amet, elit rutrum, enim hendrerit augue vitae praesent sed non, lorem aenean quis praesent pede.">
    <Label.Triggers>
        <DataTrigger TargetType="Label"
                     Binding="{Binding Source={x:Reference checkBox}, Path=IsChecked}"
                     Value="true">
            <Setter Property="FontAttributes"
                    Value="Italic, Bold" />
            <Setter Property="FontSize"
                    Value="Large" />
        </DataTrigger>
    </Label.Triggers>
</Label>

Bu örnekte, Label öğesinin özelliğini izlemek için bir veri tetikleyicisinde bağlama ifadesi kullanır IsCheckedCheckBox . Bu özellik olduğunda true , FontAttributesFontSize değişikliğin ve özellikleri Label değişir. IsCheckedÖzelliği öğesine döndüğünde, falseFontAttributesFontSize öğesinin ve özellikleri Label başlangıçtaki durumlarına sıfırlanır.

Aşağıdaki ekran görüntüsünde, iOS ekran görüntüsü Label boş olduğunda biçimlendirmeyi gösterir CheckBox , ancak Android ekran görüntüsü Label işaretlendiğinde biçimlendirmeyi gösterir CheckBox :

Veri bağlı kutusu, iOS ve Android 'e onay kutusu üzerinde veri bağlı onay kutusu ekran görüntüsü

Tetikleyiciler hakkında daha fazla bilgi için bkz Xamarin.Forms Triggers ..

Onay kutusunu devre dışı bırakma

Bazen bir uygulama denetlenmekte olan bir durum girer ve CheckBox geçerli bir işlem değildir. Böyle durumlarda, CheckBox özelliği olarak ayarlanarak devre dışı bırakılabilir IsEnabledfalse .

CheckBox görünümü

Sınıfından devralan özelliklere ek olarak CheckBoxView , CheckBoxColor rengini bir olarak ayarlayan özelliği de tanımlar Color :

<CheckBox Color="Red" />

Aşağıdaki ekran görüntüleri CheckBox , her nesnenin Color özelliğinin farklı olarak ayarlandığı işaretlenmiş nesne dizisini gösterir Color :

Screenshot of colored CheckBoxes, on iOS and AndroidİOS ve Android

CheckBox Görsel durumları

CheckBoxIsCheckedVisualState , işaretlendiğinde bir görsel değişikliği başlatmak için kullanılabilir CheckBox .

Aşağıdaki XAML örneği, durum için görsel durumun nasıl tanımlanacağını göstermektedir IsChecked :

<CheckBox ...>
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="CommonStates">
            <VisualState x:Name="Normal">
                <VisualState.Setters>
                    <Setter Property="Color"
                            Value="Red" />
                </VisualState.Setters>
            </VisualState>

            <VisualState x:Name="IsChecked">
                <VisualState.Setters>
                    <Setter Property="Color"
                            Value="Green" />
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
</CheckBox>

Bu örnekte, işaretlendiğinde, IsCheckedVisualStateCheckBoxColor özelliği yeşil olarak ayarlanır. , NormalVisualStateCheckBox Normal bir durumda olduğunda, Color özelliği Red olarak ayarlanacak olduğunu belirtir. Bu nedenle, genel efekt, CheckBox boş olduğunda kırmızı ve işaretlendiğinde yeşil olur.

Görsel durumlar hakkında daha fazla bilgi için bkz Xamarin.Forms Visual State Manager ..