我想在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
这个(还)不受支持吗,或者我做错了什么?
最佳答案
此问题已在2014-06-04发布的Xamarin.Forms 1.0.6197
中修复。
同样,您的xmlns:local缺少assembly
属性。应该是xmlns:local="clr-namespace:XamarinFormsApp.Controls;assembly=XamarinFormsApp"
更新:
如果要从同一程序集中加载类型,则不再需要xmlns中的程序集零件
关于xaml - 在Xamarin.Forms中为ContentPage使用自定义基类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24022355/