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