【发布时间】:2017-08-17 14:43:52
【问题描述】:
我目前正在尝试实现两个链接的 Switch 元素。 当一个被切换时,另一个被取消切换。
但是当我的事件被触发时,点击的Switch不完成被切换。
XAML:
<StackLayout Orientation="Horizontal" HorizontalOptions="CenterAndExpand">
<Switch x:Name="WomanGenderSwitch" IsToggled="true" Toggled="HandleWomanToggled" Scale="0.5">
</Switch>
<Label FontSize="12" x:Name="WomanSwitchLabel" TextColor="#ddd" VerticalTextAlignment="Center">
</Label>
<Switch x:Name="ManGenderSwitch" Toggled="HandleManToggled" Scale="0.5">
</Switch>
<Label FontSize="12" x:Name="ManSwicthLabel" TextColor="#ddd" VerticalTextAlignment="Center">
</Label>
</StackLayout>
后面的代码:
void HandleManToggled(object sender, Xamarin.Forms.ToggledEventArgs e)
{
var s = sender as Switch;
if (s.IsToggled)
WomanGenderSwitch.IsToggled = false;
else
WomanGenderSwitch.IsToggled = false;
}
void HandleWomanToggled(object sender, Xamarin.Forms.ToggledEventArgs e)
{
var s = sender as Switch;
if (s.IsToggled)
ManGenderSwitch.IsToggled = false;
else
ManGenderSwitch.IsToggled = false;
}
【问题讨论】:
-
能否也放上HandleWomanToggled事件处理代码?
-
@ParsaKarami 完成 :)
-
那么当代码运行
ManGenderSwitch.IsToggled = false;时,为什么需要if (s.IsToggled)声明? -
@AkashKava 没有适当的评论。如果我不使用 MVVM 是因为我无法按照规范使用它
标签: c# xamarin xamarin.forms