无法在Xamarin表单应用程序中添加弹出页脚



我有一个xamarin表单应用程序,我想在弹出菜单中添加一个页脚。在阅读了官方文档后,应该很简单,只需在AppShell.xaml中添加几行即可,如下所示:

<Shell.FlyoutFooterTemplate>
<DataTemplate>
<Label HeightRequest="300" BackgroundColor="Red"/>
</DataTemplate>
</Shell.FlyoutFooterTemplate>

当我在一个新项目中尝试它时,它运行得非常好,但由于某种原因,它在我当前的应用程序中不起作用,出现了以下错误:错误XLS0415在类型"Shell"中找不到可附加的属性"FlyoutFooterTemplate">

我试图找到FlyoutHeaderTemplate的定义,并在Shell(来自元数据(文件中找到:[1] :https://i.stack.imgur.com/xqZub.png

public Shell();
...
public DataTemplate FlyoutHeaderTemplate { get; set; }
public FlyoutHeaderBehavior FlyoutHeaderBehavior { get; set; }
public object FlyoutHeader { get; set; }

页眉和页脚应该有类似的定义,但页眉只有一个。该文件无法编辑,我也找不到它。有什么想法吗?为什么缺少Footer的定义,我该如何添加它,或者解决方法?

PS:从C#代码中添加页脚也不起作用,我试图清理/重建并重置两者,PC和VS。

首先,确认您可以添加一个简单的标题:

<Shell.FlyoutHeader>
<Label Text="This is the header." />
</Shell.FlyoutFooter>

如果这不起作用,那么您正在做一些根本错误的事情——发布<Shell>XAML的代码,在其中添加了这些行。确保包含这些行,以显示它们在XAML中的位置。确保它们位于<Shell></Shell>之间,但不要嵌套在某个更深的节点中。例如,它们不能在<StackLayout><ContentView>或其他容器中——它们必须是<Shell>的直接子级。


除非你在做一些花哨的事情,否则你不需要Template

简单尝试:

<Shell.FlyoutFooter>
<Label HeightRequest="300" BackgroundColor="Red"/>
</Shell.FlyoutFooter>

如果以上1(有效,但2(无效,则您的项目引用的是过期版本的Shell。修复:

A。检查项目的Xamarin.Forms nuget是否不需要更新。(解决方案/管理Nugets。(
B。或者删除binobj文件夹。然后重建解决方案
C。最糟糕的情况是,从一个新项目开始,在该项目中您可以使用该功能,并将其添加回所有文件中。

相关内容

  • 没有找到相关文章

最新更新