Xamarin.Forms Přepnout
Ovládací prvek je vodorovné přepínací tlačítko, se kterým může uživatel manipulovat a přepínat mezi stavy zapnout a vypnout, které jsou Xamarin.FormsSwitch reprezentovány boolean hodnotou. Třída Switch dědí z View třídy .
Následující snímky obrazovky ukazují ovládací prvek v jeho stavech přepínače Zapnout a vypnout v iOSu a Switch Androidu: Switch
přepínačích pro iOS a Android v a Androidu
Ovládací Switch prvek definuje následující vlastnosti:
- Xamarin_Forms _Switch_IsToggled" data-linktype="absolute-path">
IsToggledjebooleanSwitchIsToggledhodnota, která určuje, jestli je na . - Xamarin_Forms _Switch_OnColor" data-linktype="absolute-path">je objekt , který ovlivňuje způsob vykreslení objektu v přepínacím nebo
OnColorColorSwitchOnColorpřepínacím stavu. ThumbColorjeColorkryptografický otisk přepínače.
Tyto vlastnosti jsou zálohovány objektem , což znamená, že objekt může mít styl a být cílem BindablePropertySwitch datových vazeb.
Ovládací prvek definuje událost, která se aktivuje při změně Switch vlastnosti, a to buď prostřednictvím manipulace s uživatelem, nebo když ToggledIsToggled aplikace nastaví vlastnost IsToggled . Objekt, ToggledEventArgs který doprovází Toggled událost, má jednu vlastnost s názvem Value typu bool . Při aktivování události bude hodnota Value vlastnosti odrážet novou hodnotu IsToggled vlastnosti.
Vytvoření přepínače
Instanci Switch lze vytvořit v jazyce XAML. Jeho IsToggled vlastnost lze nastavit tak, aby přeplala Switch . Ve výchozím nastavení IsToggled je vlastnost false . Následující příklad ukazuje, jak vytvořit instanci v Switch jazyce XAML s volitelnou IsToggled nastavenou vlastností:
<Switch IsToggled="true"/>
Objekt Switch lze také vytvořit v kódu:
Switch switchControl = new Switch { IsToggled = true };
Vzhled přepínače
Kromě vlastností, které dědí z třídy , definuje také vlastnosti SwitchView a SwitchOnColorThumbColor . Vlastnost lze nastavit tak, aby definoval barvu, když je přepne na svůj stav, a vlastnost lze nastavit tak, aby definoval OnColorSwitchOnColorThumbColorColor kryptografický otisk přepínače. Následující příklad ukazuje, jak vytvořit instanci v Switch jazyce XAML s těmito nastavenými vlastnostmi:
<Switch OnColor="Orange"
ThumbColor="Green" />
Vlastnosti lze také nastavit při vytváření objektu Switch v kódu:
Switch switch = new Switch { OnColor = Color.Orange, ThumbColor = Color.Green };
Následující snímek obrazovky ukazuje stav přepínače v jeho zapnout Switch a vypnout s Switch nastavenými ThumbColor vlastnostmi a :

Reakce na změnu stavu přepínače
Když se vlastnost změní, ať už prostřednictvím manipulace s uživatelem, nebo když aplikace nastaví vlastnost IsToggledIsToggled , událost se Toggled vyžádá. Obslužnou rutinu události pro tuto událost je možné zaregistrovat pro reakci na změnu:
<Switch Toggled="OnToggled" />
Soubor kódu na pozadí obsahuje obslužnou rutinu Toggled události:
void OnToggled(object sender, ToggledEventArgs e)
{
// Perform an action after examining e.Value
}
Argument sender v obslužné rutině události Switch zodpovídá za aktivaci této události. Vlastnost můžete použít pro přístup k objektu nebo k rozlišení mezi více sender objekty, které sdílejí stejnou SwitchSwitchToggled obslužnou rutinu události.
Obslužnou Toggled rutinu události je také možné přiřadit v kódu:
Switch switchControl = new Switch {...};
switchControl.Toggled += (sender, e) =>
{
// Perform an action after examining e.Value
}
Datová vazba přepínače
Obslužnou rutinu události je možné eliminovat pomocí datové vazby a triggerů, které reagují na měnící ToggledSwitch se stavy přepínacího přepínače.
<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>
V tomto příkladu používá Label vazbový výraz v k DataTrigger monitorování vlastnosti s názvem IsToggledSwitchstyleSwitch . Když se tato vlastnost true změní na , změní se vlastnosti a objektu FontAttributesFontSizeLabel . Když se vlastnost vrátí do , vlastnosti a objektu se IsToggledfalseFontAttributesFontSizeLabel resetují do počátečního stavu.
Informace o aktivačních událostech najdete v tématu Xamarin.Forms Triggers .
Přepnutí stavů vizuálu
Switchmá vizuální stavy a , které lze použít k zahájení změny vizuálu při změně OnOff Xamarin_Forms Switch _Switch_IsToggled" data-linktype="absolute-path">IsToggled vlastností.
Následující příklad XAML ukazuje, jak definovat stavy vizuálu pro On stavy Off a :
<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>
V tomto příkladu určuje, že pokud je vlastnost OnVisualState Xamarin_Forms On _Switch_IsToggled" data-linktype="absolute-path">IsToggledtrue vlastnost , ThumbColor vlastnost se nastaví na střední spring green. Určuje, OffVisualState že pokud je vlastnost , IsToggled vlastnost se nastaví na falseThumbColor červenou. Celkovým efektem tedy je, že pokud je v poloze vypnuto, je jeho palce červený a jeho kryptografický otisk je střední, spring green, když je v SwitchSwitch poloze on:
a Androidu v přepínačiSnímek obrazovky s vypnutím vizuálního stavu v iOSu a
Další informace o stavech vizuálů najdete v tématu Xamarin.Forms Visual State Manager .
Zakázání přepínače
Aplikace může vstoupit do stavu, kdy přepínací tlačítko Switch není platná operace. V takových případech je Switch možné objekt zakázat nastavením jeho vlastnosti na IsEnabledfalse . To zabrání uživatelům v manipulaci s Switch .
Stažení ukázky