Xamarin Forms Transalted 按钮单击

Xamarin Forms Transalted Button click

我正在使用 Xamarin Forms 创建一个圆形菜单,如下所示。

强调色是我的网格。然后我翻译并翻译按钮。

我的问题是点击按钮没有出现。我也试过我的堆栈面板的手势识别器。相同的结果。

部分代码如下:

  <Grid BackgroundColor="Accent" Margin="0,0,0,10" VerticalOptions="End" HorizontalOptions="Center">


        <StackLayout x:Name="cat" TranslationX="-109" TranslationY="-102"
                            >
            <StackLayout.GestureRecognizers>
                <TapGestureRecognizer Tapped="catBtn_Clicked"/>
            </StackLayout.GestureRecognizers>
            <Button Clicked="catBtn_Clicked"          WidthRequest="60" 
                            HeightRequest="60" 
                            FontSize="35"
                            CornerRadius="30" HorizontalOptions="Center"
                            BackgroundColor="{StaticResource RedColor}"
                            TextColor="White"
                            Text="{ x:Static local:GrialIconsFont.Calendar }" 
                            FontFamily="{ StaticResource IconsFontFamily }">
        </Button>
            <Label Text="{extensions:Translate Hello}" HorizontalOptions="Center"/>
        </StackLayout>

确保您的按钮位于 superView 的边界内, 如果按钮放在 superView 的边界之外,按钮将不可点击.

你使用TranslationX="-109"TranslationY="-102"会使按钮超出StackLayout的边界,所以它不会响应点击事件。您可以将 backgroundColor 添加到 stacklayout 以查看其边界。

我建议您将这些按钮或标签直接添加到网格中,并使用 absolute-layout, relative-layout 或其他布局来固定它们的位置。

Github里面也有一些例子可以参考,比如CircleButtonMenuXamarin.Forms-RadialMenu