如何解决Xamarin 在一页中显示多个弹出按钮 可用属性来自代码来自 xaml注意
我一直在研究 Xamarin.Forms Shell。默认情况下,Shell 中可用的弹出按钮允许从屏幕左侧滑动或点击工具栏菜单按钮使弹出按钮出现在屏幕左侧。
我还看到了一种变体,其中工具栏和弹出按钮被翻转,因此工具栏按钮和弹出按钮位于屏幕右侧。
我的问题是 - 我想在屏幕上显示多个浮出控件。 Shell 可以工作,但是如果我使用 Shell(左侧或右侧,但不能同时使用两者),我似乎只能有一个弹出按钮。有没有办法在 Shell 中使用多个弹出按钮?
解决方法
您可以使用 Xamarin.CommunityToolkit package 中的 SideMenuViewPage
,它已经可用但尚未记录。
示例
<xct:SideMenuView x:Name="SideMenuView">
<!-- MainView -->
<StackLayout BackgroundColor="Gold">
<Label Text="This is the Main view" VerticalOptions="Center" HorizontalOptions="Center"/>
</StackLayout>
<!-- LeftMenu -->
<StackLayout
xct:SideMenuView.Position="LeftMenu"
xct:SideMenuView.MenuWidthPercentage=".5"
xct:SideMenuView.MainViewScaleFactor=".95"
BackgroundColor="Orange">
<Label Text="This is the left menu view"/>
</StackLayout>
<!-- RightMenu -->
<StackLayout
xct:SideMenuView.Position="RightMenu"
xct:SideMenuView.MenuWidthPercentage=".3"
xct:SideMenuView.MenuGestureEnabled="False"
BackgroundColor="LightGreen">
<Label Text="This is the Right menu view"/>
</StackLayout>
</xct:SideMenuView>
可用属性
财产 | 说明 |
---|---|
MenuWidthPercentage |
设置菜单相对于它的父级的宽度百分比。 |
MainViewScaleFactor |
设置打开侧边菜单(左侧或右侧)时 MainView 将缩放到的缩放百分比。 |
Position |
指定位置是right还是left还是main,如果不指定则认为是MainView。 |
MenuGestureEnabled |
启用/禁用侧滑手势选项以打开/关闭菜单/视图。 |
打开/关闭侧边菜单视图(弹出)
来自代码
通过滑动手势或设置您在 xaml 中定义的 State
的属性 SideMenuView
来打开左右菜单/视图:
SideMenuView.State = SideMenuState.MainViewShown; //show main view and close both left and right menu view
SideMenuView.State = SideMenuState.RightMenuShown; //Open right menu view
SideMenuView.State = SideMenuState.LeftMenuShown; //Open left menu view
来自 xaml
默认情况下左右菜单是关闭的(State
属性的默认值为 MainViewShown
),如果您希望最初打开菜单,请在您的 xaml 中更改它的值:
<xct:SideMenuView x:Name="SideMenuView" State="LeftMenuShown">
混合方法是将 State
绑定到一个属性并根据您的逻辑在代码中更改它。
注意
目前仅支持 iOS 和 Android(不支持 uwp)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。