【发布时间】:2022-01-08 20:38:09
【问题描述】:
我在 Xamarin 中为 UWP 创建一个表单,我有这个代码:
XAML
<StackLayout Orientation="Horizontal" HorizontalOptions="CenterAndExpand">
<Label Text="My Checkbox"
VerticalOptions="Center"
TextColor="White"></Label>
<CheckBox x:Name="myCheckbox"
WidthRequest="150"
VerticalOptions="Center"
Color="#ff914d"
CheckedChanged="Check_Changed"></CheckBox>
<Label Text="Other Checkbox"
VerticalOptions="Center"
TextColor="White"></Label>
<CheckBox x:Name="otherCheckbox"
WidthRequest="150"
VerticalOptions="Center"
Color="#ff914d"
CheckedChanged="Check_Changed"></CheckBox>
</StackLayout>
在我的 CS 中: (GET_FIELD_NAME 在我的代码中不是这样的,我要求一种方法来做到这一点)
void Check_Changed(object sender, CheckedChangedEventArgs e)
{
switch( GET_FIELD_NAME )
{
case myCheckbox :
// Update myCheckbox var
case otherCheckbox :
// Update otherCheckbox var
etc.
}
}
因为我有大量的复选框,所以我不想要大量不同的方法,而是需要一个带有开关的复选框,该开关用获取的名称更新正确的 var。 我查看了“发件人”属性,但什么也没找到…… 我怎样才能得到这些信息:x:Name of field clicked only one method for all
谢谢你的帮助^^ (对不起,英语不是我的母语)
【问题讨论】:
-
Name只是一个 XAML 助手,它不是您可以在运行时访问的实际属性。您可以将一些未使用的属性(如 StyleId)重新用于相同的目的 -
如果答案已经解决了您的问题,请mark它被接受