我们在遗留的C#库中定义了一些类,我们需要将它们用作MAUI应用程序中的视图模型。
我们已经查阅了许多资料,但许多人建议创建一个MAUI库,这对我们来说是不可能的,因为它是一个已经定义良好并经过测试的对象库。
该库不仅用于各种平台上的应用程序,还用于Linux,Windows和MacOS上的C#应用程序。
我们已经将其添加到Dependencies
中,
我们必须将其转换为NuGet包吗?
我们应该如何以及在哪里放置一些指示(在视图cs
和/或XAML
文件中?,在应用程序cs
和/或XAML
文件中?,其他?)来绑定视图中C#库中的对象?
提前感谢,这可能不是那么困难,但我们开始使用MAUI,我们有点卡在这里。
对象库组件刚刚升级到**.NET 6.0**(它是最后一个可用的LTS),因此它不再是旧库。
<TargetFramework>net6.0</TargetFramework>
<OutputType>Library</OutputType>
<LangVersion>10.0</LangVersion>
<Nullable>enable</Nullable>
但是如何在视图中绑定来自C#库的对象的问题仍然存在。
1条答案
按热度按时间mklgxw1f1#
为了使用一个类库(.dll),它的目标是一个小于或等于你的MAUI项目版本的.NET版本,你可以简单地将它添加为COM引用,然后通过以下三个简单的步骤使用库中定义的数据类型。
在这个例子中,我使用了一个名为“SampleClassLibrary.dll”的简单类库,它只包含一个名为
SampleModel
的类,位于SampleClassLibrary
命名空间中:1.将库添加到解决方案
首先,你应该决定图书馆应该在哪里。理想情况下,这是一个位置,您还可以添加其他外部库,这些库不是通过NuGet添加的。我通常为这些依赖项创建一个单独的文件夹,然后将库添加到解决方案中的该文件夹中:
根据链接器设置和其他因素,您可能希望将库复制到输出目录,但这不是绝对必要的:
2.添加库作为COM引用
接下来,您需要右键单击项目上的“Dependencies”并选择“Add COM Reference”。在下面的对话框中,浏览到库的位置,并选中它:
一旦你选择了库,点击“确定”,你就可以开始了。
3.使用库类型
现在,您可以在MAUI项目中使用
SampleModel
类作为模型,例如:在ViewModel中添加一个using
语句,从库中拉入名称空间。现在,您可以使用bind to the data来实现您的MAUI应用:
查看代码隐藏:
查看XAML:
请注意,如果模型类实现了 INotifyPropertyChanged 接口,则任何到外部库类对象的绑定都将仅在MAUI项目中自动更新。