问题描述
我的应用中有一个侧边菜单,当您向左滑动时会显示该菜单。侧边菜单基本上是一个 BoxView,其中包含一系列菜单项,例如 设置 和 登录。
我的问题是:是否可以单击 BoxView 中的特定项目?例如设置。
我尝试通过在 MainPage.cs 中创建方法使项目可点击。没有真正起作用。
这里有一些代码以备不时之需。
MainPage.cs:
private List<Menu> GetMenus()
{
return new List<Menu>
{
new Menu { Title = "Home",Type = ButtonType.Home,Icon = "Icon.Images.icon.png"},new Menu { Title = "Settings",Type = ButtonType.Settings,new Menu { Title = "Rotate",Type = ButtonType.Rotate,};
}
private void OpenSwipe(object sender,EventArgs e)
{
}
private void CloseSwipe(object sender,EventArgs e)
{
}
我现在得到的结果是,每次单击菜单项时,侧边菜单都会再次关闭。
MainPage.xaml
<Grid HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<!--<Image Aspect="Fill" Source="icon.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"></Image>-->
<BoxView BackgroundColor="DarkSlateGray" Opacity="0.9">
</BoxView>
<swipeview x:Name="Mainswipeview" BackgroundColor="Transparent">
<swipeview.LeftItems>
<SwipeItems>
<SwipeItemView>
<Grid>
<StackLayout Spacing="20" Padding="35" WidthRequest="100" BindableLayout.ItemsSource="{Binding MyMenu}"
VerticalOptions="CenterandExpand">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="CloseSwipe">
</TapGestureRecognizer>
</StackLayout.GestureRecognizers>
<pancakeView:PancakeView HeightRequest="30"
WidthRequest="30" CornerRadius="15" VerticalOptions="Center"
HorizontalOptions="Start">
<ImageButton Source="{Binding icon.png}" HeightRequest="15" WidthRequest="15" VerticalOptions="Center"
HorizontalOptions="Center"></ImageButton>
</pancakeView:PancakeView>
<Label Text="{Binding Title}" TextColor="Black" FontSize="15" FontAttributes="Bold"
HorizontalOptions="Start" VerticalOptions="Center"></Label>
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
</Grid>
</SwipeItemView>
</SwipeItems>
</swipeview.LeftItems>
<Grid x:Name="swipeContent">
<pancakeView:PancakeView x:Name="WebView1" Background="Gray">
<Grid AbsoluteLayout.LayoutBounds="1,1,1" AbsoluteLayout.LayoutFlags="All">
<Grid>
<Grid.RowDeFinitions>
<RowDeFinition Height="Auto"/>
<RowDeFinition Height="Auto"/>
<RowDeFinition Height="*"/>
<RowDeFinition Height="*"/>
</Grid.RowDeFinitions>
<Grid Padding="30">
<Image Source="{iconWareApp:ImageResource iconWareApp.Images.icon.png}" HeightRequest="18" HorizontalOptions="Start">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OpenSwipe" ></TapGestureRecognizer>
</Image.GestureRecognizers>
</Image>
<ImageButton Source="{iconWareApp:ImageResource iconWareApp.Images.icon.png}" HeightRequest="36" HorizontalOptions="End" ></ImageButton>
</Grid>
<Grid AbsoluteLayout.LayoutBounds="1,1" AbsoluteLayout.LayoutFlags="All">
<views:HybridWebView x:Name="WebView" />
</Grid>
<views:MenuView HorizontalOptions="Start" VerticalOptions="Start"></views:MenuView>
</Grid>
</Grid>
</pancakeView:PancakeView>
</Grid>
</swipeview>
</Grid>
更新:
我的意思是我有一个侧边菜单,其中有 3 个菜单项,在这种情况下,我想进入设置。 (我使用 BoxVIEW 更改侧菜单的颜色)
请看图。这些项目(主页、设置、主页)假设将我带到其他页面,但他们没有这样做。那是我的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)