我正在通过创建MVVM应用程序来学习.net Maui。我在.net Maui应用程序外部有一个DataModel库,其中包含在Azure函数和本地应用程序之间传递的数据的数据模型。这样,模型在应用程序之间始终保持同步,并且只需在代码中更改/更新一次。
应用程序中有DataModels库的项目引用集。
但是,虽然我可以在C#代码中链接和访问DataModels库,但似乎无法在XAML端链接它。
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LicenseApp.MainPage"
xmlns:viewmodel="clr-namespace:LicenseApp.ViewModels"
xmlns:dms="clr-namespace:TestApp.DataModels"
xmlns:dms2="clr-namespace:DataModels;assembly=DataModels"
x:DataType="viewmodel:MainViewModel">
我也试过:
xmlns:dms 2 =“我的模型.数据模型;程序集=数据模型”
xmlns:dms解析为应用程序中的本地DataModels文件夹,该文件夹可以正常工作。但是,我不希望在此应用程序中使用DataModels。
xmlns:dms 2给出错误:
Error XLS0419 Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'DataModels' that could not be found.
程式码提示不会出现在程式库中。
下面是尝试在此处调用库的代码:
<CollectionView Grid.Row="2" Grid.ColumnSpan="3" ItemsSource="{Binding Items}" SelectionMode="None">
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="dms2:Customer">
DataModels库编译为“DataModels.dll”。客户DataModel看起来如下所示:
namespace MyModels
{
public static class Customer
{
public int Id { get; set; }
public DateTime Created { get; }
public DateTime Updated { get; }
public string? CustomerName { get; set; }
public string? CustomerPhone { get; set; }
public string? CustomerEmail { get; set; }
public string? CustomerGuid { get; }
}
}
我做错了什么?这应该是可能的,不是吗?
1条答案
按热度按时间dohp0rv51#
我发现了问题...
在我的DataModels库中,我有:
这在我的xaml文件中没有解决,但它能够在代码中解决。
一旦我从声明中删除了“static”,代码提示就找到了类和程序集。之后一切都编译好了。