В этом уроке он объясняет, как использовать CommunityToolKit.Mvvm
У меня возникли некоторые проблемы с его использованием (я использую V8.4.0)
Для базового использования вы объявляете что-то вроде этого:
Код: Выделить всё
using CommunityToolkit.Mvvm.ComponentModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace DreamMachineApp.ViewModel
{
public partial class BaseViewModel : ObservableObject
{
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(IsNotBusy))]
bool isBusy;
[ObservableProperty]
private string? title;
bool IsNotBusy => !IsBusy;
}
}
Предупреждение набора инструментов MVVM MVVMTK0045: поле DreamMachineApp.ViewModel.BaseViewModel.isBusy с использованием [ObservableProperty ] будет генерировать код, несовместимый с AOT, в сценариях WinRT (например, в приложениях UWP XAML и WinUI 3), а частичное свойство должно вместо этого можно использовать (поскольку это позволяет генераторам CsWinRT правильно создавать необходимый код маршалинга WinRT)
Это всего лишь предупреждение, но я хотел бы от него избавиться. Я пробовал советы здесь, но это еще хуже.
Что меня озадачивает в проекте, предоставленном Джеймсом (с использованием точно такого же кода)? Я не вижу ошибки? Может быть, нужно сделать какие-то настройки?
Вторая проблема заключается в том, что если я посмотрю в зависимости, то увижу массу предупреждений в наборе инструментов

На самом деле вы можете видеть, что ObservablePropertyGenerator работает успешно и приложение работает нормально, но Это выглядит страшно!
Я использую последнюю версию Visual Studio, использующую .net9.0 (очень новая версия — может быть проблема?)
Я попробовал то, что рекомендуется здесь: https://learn.microsoft.com/en-us/dotne ... mvvmtk0045, но это не помогает
Буду признателен, если у кого-нибудь есть решение и можете объяснить почему на проекте от Джеймса нет ошибки?
Подробнее здесь: https://stackoverflow.com/questions/792 ... mvvmtk0045