Xamarin 表单在 Shell 页面内显示选择器

问题描述

我有一个 shell 应用程序,其中包含弹出项和菜单项。我想要一个选择器在单击菜单项时显示。但似乎无法在继承 Shell 类的页面添加可绑定对象,如选择器、框架、条目...。那么有没有办法显示选择器,或者我必须创建一个内容页面并将选择器放在其中?

XML:

 <?xml version="1.0" encoding="utf-8" ?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:local="clr-namespace:Bufib.Tools"
            xmlns:static="clr-namespace:Bufib.Tools"
            xmlns:flyout="clr-namespace:Bufib.Views.FlyoutPages"
            xmlns:others="clr-namespace:Bufib.Views.Others"
            x:Class="Bufib.MainPage"
            BackgroundImageSource="{local:ImageResource Bufib.logos.bg.jpg}">
    
    <!-- styling -->
    <Shell.Resources>
        <ResourceDictionary>
            <Style x:Key="BaseStyle" targettype="Element">
                <Setter Property="Shell.BackgroundColor" Value="{Binding Source={x:Static static:Constants.PRIMARY_COLOR}}" />
            </Style>
            <Style targettype="FlyoutItem" BasedOn="{StaticResource BaseStyle}" />
        </ResourceDictionary>
    </Shell.Resources>
    <!-- end styling-->
        
    <!-- NAVIGATION HEADER AND PAGES-->
    <Shell.FlyoutHeader>
      ...
    </Shell.FlyoutHeader>
    ...
    <!-- END NAVIGATION -->
    
    <!---Menu Items -->
    <MenuItem x:Name="editHistoryLbl" Clicked="editHistoryLbl_Clicked" IconImageSource="{local:ImageResource Bufib.logos.settings.png}"/>
     ...
    <!--- END Menu Items -->
</Shell>

显示选择器的 CS:

private void editHistoryLbl_Clicked(object sender,EventArgs e)
        {
            List<int> numbersLst = new List<int>(){ -5,-4,-3,-2,-1,1,2,3,4,5 };
            Picker picker = new Picker();
            picker.ItemsSource = numbersLst;
            picker.IsVisible = true;
            this.Items.Add(picker);
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)