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.Forms
和 Xamarin.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
不再在预览频道
中,这个问题就会得到解决
我开始玩 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.Forms
和 Xamarin.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
不再在预览频道