问题描述
我有一个 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 (将#修改为@)