微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。