8

我想在 Xamarin.Forms 中为我的页面使用自定义 ContentPage。我尝试创建一个自定义类并在 xaml 中指定页面,如下所示:

<local:ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                   xmlns:local="clr-namespace:XamarinFormsApp.Controls"
                   x:Class="XamarinFormsApp.Views.WelcomeView">

    <Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />

</local:ContentPage>

这将(通常)在 xaml 中工作,但在 Xamarin.Forms 中给了我这个错误:

Error   7   The "XamlG" task failed unexpectedly.
System.Exception: Can't load types from xmlns clr-namespace:XamarinFormsApp.Controls
   at Xamarin.Forms.Build.Tasks.XamlG.GetNamespace(String namespaceuri)
   at Xamarin.Forms.Build.Tasks.XamlG.GetType(String nsuri, String type, IList`1 typeArguments, Func`2 getNamespaceOfPrefix)
   at Xamarin.Forms.Build.Tasks.XamlG.GenerateFile(String xamlFile, String outFile)
   at Xamarin.Forms.Build.Tasks.XamlG.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() XamarinFormsApp.iOS

这(还)不受支持还是我做错了什么?

4

1 回答 1

7

这已在Xamarin.Forms 1.0.61972014 年 6 月 4 日发布。

此外,您的 xmlns:local 缺少该assembly属性。它应该是xmlns:local="clr-namespace:XamarinFormsApp.Controls;assembly=XamarinFormsApp"

更新:如果您从同一个程序集中加载类型,则不再需要 xmlns 中的程序集部分

于 2014-06-05T13:26:37.603 回答