ICollectionView с .net core 3.0 - PullRequest
       57

ICollectionView с .net core 3.0

0 голосов
/ 09 октября 2019

Я перевожу свой проект из классического .net в .net core 3.0. Я использую в своем интерфейсе viewmodel ICollectionView, и он не распознается в .net core 3.0 framework.

Я добавил несколько пакетов nuget, чтобы попытаться заставить его работать, но безуспешно.

Заявления MicrosoftSystem.ComponentModel определяет icollectionview (https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.icollectionview?view=netcore-3.0),, но он не найден. Я также пытался включить windowsbase, но он также не найден.

Является ли моя среда неисправной? Я что-то пропустил?

Спасибо за вашу помощь.

Вот небольшой класс для компиляции в рамках проекта .netcore3:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        ICollectionView col =new CollectionViewSource().View;
        col.Filter = null;
        col.Refresh();
    }
}

Редактировать:

Благодаря ALFA для Microsoft.Windows.SDK.Contracts, которые предлагают интерфейс ICollectionView на ядре .net, но, к сожалению, он не завершен: фильтрация и обновление не реализованы.

Ответы [ 3 ]

2 голосов
/ 14 октября 2019

Вам нужно отредактировать файл проекта YourProjectName.csproj из этого:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
   <TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>

Для этого:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

<PropertyGroup>
   <TargetFramework>netcoreapp3.0</TargetFramework>
   <UseWPF>true</UseWPF>
</PropertyGroup>

Это помогает мне.

0 голосов
/ 09 октября 2019

пытались импортировать DLL в ваш проект .Core?

https://docs.microsoft.com/es-es/dotnet/api/system.windows.data.collectionview?view=netframework-4.8

Вы можете найти DLL-файл PresentationFramework.dll в папке .Net, в моем случае она у меня есть в


    C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF

0 голосов
/ 09 октября 2019

На .NET Core 3.0+ вы можете установить пакет Microsoft.Windows.SDK.Contracts , который включает все поддерживаемые API среды выполнения Windows вплоть до Windows 10 версии 1903 и позволит вам использовать ICollectionView.

Пакет WinRT API для Windows 10 позволяет добавлять новейшую поддержку API среды выполнения Windows в библиотеки и приложения .NET Framework 4.5+ и .NET Core 3.0+.

...