Xamarin 数据页 - 获取 XamlParseException

Xamarin Datapages - Getting XamlParseException

我开始玩 Xamarin DataPages

我按照 this 页面的说明进行了编译,但是当我启动应用程序时,我在实例化数据页时得到了 XamlParseException (new SessionDataPage();) :

Position 7:15. No Property of name StyleClass found

我知道 Datapages 仍在预览频道中,但仍然 - 这应该有效。


附加信息:

Xaml:

<?xml version="1.0" encoding="utf-8" ?>

<p:ListDataPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages"
             x:Class="HoloTour.Pages.SessionDataPage"
              StyleClass="Events" Title="Sessions" >

  <p:ListDataPage.DataSource>
    <p:JsonDataSource Source="http://demo3143189.mockable.io/sessions" />
  </p:ListDataPage.DataSource>

</p:ListDataPage>

堆栈跟踪:

  at Xamarin.Forms.Xaml.ApplyPropertiesVisitor.SetPropertyValue(Object xamlelement, XmlName propertyName, Object value, BindableObject rootElement, INode node, HydratationContext context, IXmlLineInfo lineInfo)

at Xamarin.Forms.Xaml.ApplyPropertiesVisitor.Visit(ValueNode node, INode parentNode) at Xamarin.Forms.Xaml.ValueNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Xamarin.Forms.Xaml.RootNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Xamarin.Forms.Xaml.XamlLoader.Load(BindableObject view, String xaml) at Xamarin.Forms.Xaml.XamlLoader.Load(BindableObject view, Type callingType) at Xamarin.Forms.Xaml.Extensions.LoadFromXaml[TView](TView view, Type callingType) at HoloTour.Pages.SessionDataPage.InitializeComponent() at HoloTour.Pages.SessionDataPage..ctor() at HoloTour.App..ctor() at HoloTour.UWP.MainPage..ctor() at HoloTour.UWP.HoloTour_UWP_XamlTypeInfo.XamlTypeInfoProvider.Activate_4_MainPage() at HoloTour.UWP.HoloTour_UWP_XamlTypeInfo.XamlUserType.ActivateInstance()

编辑:

如果我从 Xaml 文件中删除 StyleClass,我会得到一个 TypeLoadException

Method 'CanConvertFrom' in type 'Xamarin.Forms.Pages.JsonSourceConverter' from assembly 'Xamarin.Forms.Pages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

事实证明,问题出在对 Xamarin.FormsXamarin.Forms.Pages 的引用上。

最初,我使用以下命令按照手册中的说明安装了 nuget 包:

Get-Project -all | Install-Package Xamarin.Forms.Pages -Version 2.3.0.107
Get-Project -all | Install-Package Xamarin.Forms.Theme.Base -Pre
Get-Project -all | Install-Package Xamarin.Forms.Theme.Light -Pre

在这不起作用之后 - 我进入了 Manage Packages for Solution(右键单击 解决方案 -> 管理解决方案的 NuGet 包),并将包更新到最新版本。 我敢肯定,一旦 DataPages 不再在预览频道

中,这个问题就会得到解决