Я бы порекомендовал вам изменить структуру кода XAML.Глядя на свой фрагмент, опубликованный снимок экрана и от вашего комментария до ответа CGPA6.4 , вы можете упростить свою работу, создав настраиваемое представление и привязав к нему информацию.Например, следующий код:
<StackLayout
Grid.Column="2"
Grid.Row="0"
Orientation="Vertical"
BackgroundColor="White"
Padding="10"
HorizontalOptions="FillAndExpand">
<Image
Source="legal.png"
HorizontalOptions="CenterAndExpand "/>
<Label
Text="Legal"
FontSize="Small"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="Center"/>
</StackLayout>
можно превратить в пользовательский элемент управления, например:
<MyCustomControl
Grid.Column="2"
Grid.Row="0"
ImageFile="legal.png"
Text="Legal" />
Это упростит ваш XAML на много .Затем вы можете реализовать свойство Action
или EventHandler
, которое будет обрабатываться при нажатии на конкретное представление, что может затем превратить ваш пользовательский элемент управления в:
<MyCustomControl
Grid.Column="2"
Grid.Row="0"
ImageFile="legal.png"
Text="Legal"
OnControlTap="OnLegalViewTap"/>
Поскольку кажется, что (из вашего изображения) вы будете использовать один и тот же вид несколько раз, вам следует рассмотреть реализацию FlexLayout
вместо Grid
и использовать Binding
s для присоединенияфайл изображения, текст и обработчик касаний к представлению, что еще больше упростит ваш XAML и структуру кода!