Xamarin.Forms Şalter
Denetim Xamarin.FormsSwitch
, bir değerle temsil edilen açık ve kapalı durumlar arasında geçiş yapmak için kullanıcı tarafından değiştirilebilen yatay bir boolean
geçiş düğmesidir. Switch
sınıfı öğesinden View
devralır.
Aşağıdaki ekran görüntüleri, iOS ve Android'de açık ve kapalı durumlarındaki bir Switch
denetimi gösterir:
Denetim Switch
aşağıdaki özellikleri tanımlar:
IsToggled
, öğesinin açık olup olmadığınıSwitch
gösteren birboolean
değerdir.OnColor
, öğesinin iki durumlu veya açık durumda nasılSwitch
işlendiğini etkileyen birColor
durumdur.ThumbColor
Color
anahtar başparmaktır.
Bu özellikler bir BindableProperty
nesne tarafından desteklenir; bu da stillendirilebileceği ve veri bağlamalarının hedefi olabileceği anlamına gelir Switch
.
DenetimSwitch
, özellik değiştiğindeIsToggled
, kullanıcı işlemesi aracılığıyla veya bir uygulama özelliği ayarlarken tetiklenen IsToggled
bir olayı tanımlarToggled
. Olaya ToggledEventArgs
eşlik eden nesnenin Toggled
türünde bool
adlı Value
tek bir özelliği vardır. Olay tetiklendiğinde, özelliğinin Value
değeri özelliğin yeni değerini IsToggled
yansıtır.
Anahtar Oluşturma
Switch
XAML'de örneği oluşturulabilir. özelliği IsToggled
, iki durumlu Switch
olarak ayarlanabilir. Varsayılan olarak özelliğidir IsToggled
false
. Aşağıdaki örnek, isteğe bağlı IsToggled
özellik kümesiyle XAML'de bir Switch
örneği oluşturmayı gösterir:
<Switch IsToggled="true"/>
Switch
Kodda da oluşturulabilir:
Switch switchControl = new Switch { IsToggled = true };
Görünümü değiştir
sınıfından devralan Switch
View
özelliklere ek olarak ve ThumbColor
Switch
özelliklerini de tanımlarOnColor
. OnColor
özelliği açık durumuna geçtiğinde rengi tanımlamak Switch
için ayarlanabilir ve ThumbColor
özellik anahtar başparmak tanımlamak Color
için ayarlanabilir. Aşağıdaki örnek, XAML'de bu özelliklerin ayarlandığı bir Switch
örneği nasıl oluşturacaklarını gösterir:
<Switch OnColor="Orange"
ThumbColor="Green" />
Kodda oluştururken Switch
özellikler de ayarlanabilir:
Switch switch = new Switch { OnColor = Color.Orange, ThumbColor = Color.Green };
Aşağıdaki ekran görüntüsünde Switch
, ve ThumbColor
özellikleri ayarlanmış olarak açık ve kapalı iki durumlu OnColor
durumları gösterilmektedir:
Anahtar durumu değişikliğine yanıt verme
Özellik değiştiğinde IsToggled
, kullanıcı düzenlemesi aracılığıyla veya bir uygulama özelliği ayarlarken IsToggled
olay Toggled
tetikler. Bu olay için bir olay işleyicisi, değişikliğe yanıt vermek için kaydedilebilir:
<Switch Toggled="OnToggled" />
Arka planda kod dosyası olayın işleyicisini Toggled
içerir:
void OnToggled(object sender, ToggledEventArgs e)
{
// Perform an action after examining e.Value
}
Olay sender
işleyicisindeki bağımsız değişken, bu olayı tetiklemenin Switch
sorumlusudur. nesnesine sender
erişmek veya aynı Toggled
olay işleyicisini Switch
paylaşan birden çok Switch
nesne arasında ayrım yapmak için özelliğini kullanabilirsiniz.
Olay işleyicisi Toggled
kodda da atanabilir:
Switch switchControl = new Switch {...};
switchControl.Toggled += (sender, e) =>
{
// Perform an action after examining e.Value
}
Veri bağlama anahtarı
Olay işleyicisi Toggled
, değişen geçiş durumlarına yanıt vermek Switch
için veri bağlama ve tetikleyiciler kullanılarak ortadan kaldırılabilir.
<Switch x:Name="styleSwitch" />
<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 styleSwitch}, Path=IsToggled}"
Value="true">
<Setter Property="FontAttributes"
Value="Italic, Bold" />
<Setter Property="FontSize"
Value="Large" />
</DataTrigger>
</Label.Triggers>
</Label>
Bu örnekte, adlı öğesinin Label
özelliğini Switch
izlemek IsToggled
için içinde bir DataTrigger
bağlama ifadesi kullanır.styleSwitch
Bu özellik haline geldiğinde true
ve FontAttributes
FontSize
özellikleri Label
değiştirilir. IsToggled
özelliği öğesine false
FontAttributes
döndüğünde ve FontSize
özellikleri Label
ilk durumlarına sıfırlanır.
Tetikleyiciler hakkında bilgi için bkz Xamarin.Forms . Tetikleyiciler.
Görsel durumlarını değiştirme
Switch
özelliği değiştiğinde IsToggled
görsel bir değişiklik başlatmak için kullanılabilecek has On
ve Off
görsel durumları.
Aşağıdaki XAML örneğinde ve Off
durumları için görsel durumların On
nasıl tanımlanacağı gösterilmektedir:
<Switch IsToggled="True">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="On">
<VisualState.Setters>
<Setter Property="ThumbColor"
Value="MediumSpringGreen" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor"
Value="Red" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Switch>
Bu örnekte, On
VisualState
özelliği olduğunda IsToggled
özelliğinin true
ThumbColor
orta yay yeşili olarak ayarlandığını belirtir. özelliği Off
VisualState
olduğunda özelliğinin ThumbColor
IsToggled
false
kırmızı olarak ayarlandığını belirtir. Bu nedenle, genel etki, kapalı bir konumdayken Switch
başparmağının kırmızı olması ve başparmak açık konumda olduğunda orta yay yeşili Switch
olmasıdır:
Görsel durumlar hakkında daha fazla bilgi için bkz Xamarin.Forms . Visual State Manager.
Anahtarı Devre Dışı Bırakma
Bir uygulama, geçiş yapılan işlemin geçerli bir işlem olmadığı bir durum Switch
girebilir. Böyle durumlarda, Switch
özelliği false
olarak ayarlanarak IsEnabled
devre dışı bırakılabilir. Bu, kullanıcıların 'ı işleyebilmesini Switch
engeller.