Xamarin 如何使stacklayout内的按钮可单击,但使其余项目和stacklayout不可单击?

Xamarin 如何使stacklayout内的按钮可单击,但使其余项目和stacklayout不可单击?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有一个包含许多元素的stacklayout,其中一个是按钮。我希望能够单击此按钮,但我希望其中的其他元素(以及stacklayout本身)为IsEnabledfalse 此stacklayout位于地图顶部,因此用户可以使用地图顶部的基本功能非常重要 现在我有了类似的东西(我已经删除了其中的所有属性,以使代码更具可读性) 因此,现在我将堆栈设置为IsEnabledfalse,这使得它在地图顶部时不可单击,这很好,但我现在无法单击我的按钮 如何解决这个问题?尝试使用 设置InputTrans

我有一个包含许多元素的stacklayout,其中一个是按钮。我希望能够单击此按钮,但我希望其中的其他元素(以及stacklayout本身)为
IsEnabled
false

此stacklayout位于地图顶部,因此用户可以使用地图顶部的基本功能非常重要

现在我有了类似的东西(我已经删除了其中的所有属性,以使代码更具可读性)


因此,现在我将堆栈设置为
IsEnabled
false,这使得它在地图顶部时不可单击,这很好,但我现在无法单击我的按钮

如何解决这个问题?

尝试使用

设置InputTransparent不仅会禁用输入,而且会将它们传递到元素后面的VisualElement


您不能只使用XAML元素的z索引吗?将其包装在另一个容器中(例如
StackLayout
Grid
),如下所示:

<StackLayout>
    <StackLayout IsEnabled = "false" >
        <Image />
        <Label />
    </StackLayout>
    <Button Clicked = "ClickEvent" />
</StackLayout>


这将显示
StackLayout上方的
按钮

尝试使用InputTransparent代替这可能是您的用例,也可能不是您的用例,但您也可以在地图上自定义飞行,因此我会在所有元素(包括StackLayout)上将其设置为true,但不在按钮上设置?(我会将其设置为false)我现在正在尝试查看当我将stacklayouts inputtransparent设置为true,并将其中的按钮设置为false时,按钮不可点击。
<StackLayout>
    <StackLayout IsEnabled = "false" >
        <Image />
        <Label />
    </StackLayout>
    <Button Clicked = "ClickEvent" />
</StackLayout>