我为我的项目使用了Iconize插件,如果在IconNavigationPage中使用了IconToolbarItem,则会出现问题,该问题本身就在MasterDetailPage的详细信息中使用。
如果我们从IconizeSample启动UWP项目,IconToolbarItems会很好地显示在 TabbedPage 中:
var tabbedPage = new IconTabbedPage { Title = "Iconize" };
foreach (var module in Plugin.Iconize.Iconize.Modules)
{
tabbedPage.Children.Add(new Page1
{
BindingContext = new ModuleWrapper(module),
Icon = module.Keys.FirstOrDefault()
});
}
MainPage = new IconNavigationPage(tabbedPage);
如果我们用 MasterDetailPage 替换TabbedPage,如果Detail不是IconNavigationPage,这也适用:
var mdPage = new MasterDetailPage();
mdPage.Master = new ContentPage
{
Title = "Iconize"
};
var module = Plugin.Iconize.Iconize.Modules.First();
mdPage.Detail = new Page1
{
BindingContext = new ModuleWrapper(module),
Icon = module.Keys.FirstOrDefault()
};
MainPage = new IconNavigationPage(mdPage);
但是如果我们将详细信息放在 IconNavigationPage 中,则IconToolbarItem的图标将不再可见:
var mdPage = new MasterDetailPage();
mdPage.Master = new ContentPage
{
Title = "Iconize"
};
var module = Plugin.Iconize.Iconize.Modules.First();
mdPage.Detail = new IconNavigationPage(new Page1
{
BindingContext = new ModuleWrapper(module),
Icon = module.Keys.FirstOrDefault()
});
MainPage = mdPage;
你能解释一下吗?有没有办法解决这个等待新的软件包版本?
答案 0 :(得分:0)
但是如果我们将Detail放在IconNavigationPage中,那么IconToolbarItem的图标将不再可见:
问题是您尚未将mdPage
插入IconNavigationPage
。我修改了你的代码,但它确实有效。
var mdPage = new MasterDetailPage();
mdPage.Master = new ContentPage
{
Title = "Iconize"
};
var module = Plugin.Iconize.Iconize.Modules.First();
var page = new Page1
{
BindingContext = new ModuleWrapper(module),
Icon = module.Keys.FirstOrDefault()
};
mdPage.Detail = page;
MainPage = new IconNavigationPage(mdPage);