我正在使用Xamarin.Forms开发一个应用程序。现在,我正在创建自定义视图。但是当我在包含命名空间的xaml中渲染视图时,它给了我“无法解决程序集”错误。我查看了这些解决方案 - Define xmlns in Xamarin Forms和Custom Entry xmlns:local error。但它仍然没有用。
这是CameraPage.xaml文件
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:local="clr-namespace:MementoApp;assembly=MementoApp"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
Padding="0,20,0,0"
x:Class="MementoApp.Views.CameraPage">
<ContentPage.Content>
<Label Text="Camera Preview:" />
<local:CameraPreview Camera="Rear" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" />
</ContentPage.Content>
</ContentPage>
它位于MementoApp.Views命名空间中。
我也在MementoApp.Views命名空间中创建了CameraPreview.cs。这是代码。
namespace MementoApp.Views
{
public enum CameraOptions
{
Rear,
Front
}
public class CameraPreview : View
{
public static readonly BindableProperty CameraProperty = BindableProperty.Create(
propertyName: "Camera",
returnType: typeof(CameraOptions),
declaringType: typeof(CameraPreview),
defaultValue: CameraOptions.Rear);
public CameraOptions Camera
{
get { return (CameraOptions)GetValue(CameraProperty); }
set { SetValue(CameraProperty, value); }
}
}
}
正如您在xaml中看到的命名空间和程序集一样,我使用了
xmlns:local="clr-namespace:MementoApp;assembly=MementoApp"
我也试过这个。
xmlns:local="clr-namespace:MementoApp.Views;assembly=MementoApp.Views"
而且这个。
xmlns:local="clr-namespace:MementoApp.Views;assembly=MementoApp"
一切都行不通。这是我的项目结构。
我尝试使用
xmlns:local="clr-namespace:MementoApp.Views;assembly=Memento"
也是。它也不起作用。
为什么它不起作用,我该如何解决?