У меня есть экран, который показывает четыре строки: «английский», «ромадзи», «кана» и «кандзи». Пользователь может выбрать один из четырех, и при выборе рядом с ним появится галочка. В настоящее время это реализовано так (только показаны первые два):
englishSide.GestureRecognizers.Add(new TapGestureRecognizer
{
NumberOfTapsRequired = 1,
Command = new Command(() =>
{
englishImage.IsVisible = true;
romajiImage.IsVisible = false;
kanaImage.IsVisible = false;
kanjiImage.IsVisible = false;
})
});
romajiSide.GestureRecognizers.Add(new TapGestureRecognizer
{
NumberOfTapsRequired = 1,
Command = new Command(() =>
{
englishImage.IsVisible = false;
romajiImage.IsVisible = true;
kanaImage.IsVisible = false;
kanjiImage.IsVisible = false;
})
});
По мере того, как количество вариантов увеличивается с 4 до более, я вижу, что это станет намного сложнее. Есть ли более оптимальный способ сделать это?
Для справки здесь Xaml:
<TableSection Title="Card Front Side">
<ViewCell>
<StackLayout x:Name="englishSide" Padding="20,0,20,0"
Orientation="Horizontal" VerticalOptions="Center">
<Label Text="English" XAlign="Center"/>
<Image x:Name="englishImage" Source="check.png"
HorizontalOptions="EndAndExpand" IsVisible="false" />
</StackLayout>
</ViewCell>
<ViewCell>
<StackLayout x:Name="romajiSide" Padding="20,0,20,0"
Orientation="Horizontal" VerticalOptions="Center">
<Label Text="Romaji" XAlign="Center"/>
<Image x:Name="romajiImage" Source="check.png"
HorizontalOptions="EndAndExpand" IsVisible="false" />
</StackLayout>
</ViewCell>