单击按钮时如何禁用内容

时间:2019-04-30 05:10:17

标签: c# xaml xamarin.forms

我需要禁用内容或在项目中放置叠加层。单击此浮动按钮时,我有一个浮动按钮,我需要在右上角展开一些图像(我做了这部分)。另外,当按钮单击时,我需要覆盖当前内容。问题是我需要自定义代码,当单击按钮时它应该覆盖。

我的内容视图:

<StackLayout   BindingContext="{x:Reference Name=navi}"  >
<StackLayout >
<customRenderes:NavigationImageButton Source="MenuSettings"                                               x:Name="Button1"                                                       Margin="0" IsVisible="{Binding Visibility1}" />                                                                                                                                                                                                                                                                      
</stacklayout>
<content View>

每当我需要浮动按钮时,我都会这样称呼它

<AbsoluteLayout>
<views:Page1 AbsoluteLayout.LayoutFlags="PositionProportional" AbsoluteLayout.LayoutBounds="1,1,-1,-1" ></views:Page1>
</AbsoluteLayout>

我还需要添加一个叠加层,因此我不能弄乱我的所有页面,因此它应该包含在ContentView页面中。如何做到,如何在contentview中添加弹出窗口叠加层。

1 个答案:

答案 0 :(得分:1)

解决方案:

您可以预先在堆栈布局中添加视图。并将属性 IsVisible 设置为false。

<StackLayout >

    <!-->... <-->
    <AbsoluteLayout x:Name="myView" IsVisible="False">
        <ContentView AbsoluteLayout.LayoutFlags="PositionProportional" AbsoluteLayout.LayoutBounds="1,1,-1,-1" ></ContentView>
    </AbsoluteLayout>
    <Button Clicked="Button_Clicked"  Text="showMyView" />

</StackLayout>

要显示它,请将其设置为true。例如,单击按钮时。

private void Button_Clicked(object sender, EventArgs e)
{
  myView.IsVisible = true;
}