#wpf #xaml #visual-studio-2019
#wpf #xaml #visual-studio-2019
Вопрос:
Я пытаюсь использовать классы Nish Nishant для расширения системного меню окна WPF. Проект Nish находится в Code Project как удобный для MVVM подход к добавлению элементов системного меню в приложение WPF
Я включил исходные файлы Nish в свой проект и определил некоторые команды меню для системного меню.
Это было легко и, насколько я могу судить, работает правильно. Я не получаю ошибку времени выполнения.
Однако конструктор XAML показывает мне ошибку
‘Система.Windows.FreezableCollection`1[NS.MVVM.SystemMenuItem]’ не является допустимым значением для свойства ‘MenuItems’.
Эта ошибка появляется только после компиляции проекта. Я не получаю ошибку в примере проекта Nish. Я использую Visual Studio 2019 версии 16.8.3. Что может быть причиной этого сообщения об ошибке?
Редактировать
Теперь я знаю, что вызывает сообщение об ошибке, в том смысле, что я знаю, в чем разница между моим проектом и примером проекта Nish.
Проект Nish нацелен на платформу x86, тогда как мой проект нацелен на любой процессор.
Это понятно, потому что код использует функции Win32 API. Я изменил целевую платформу для своего проекта на x86, и ошибка исчезла.
Однако я до сих пор не совсем понимаю, почему возникает ошибка и как она связана с основной проблемой целевой платформы.
Комментарии:
1. основываясь на моем тесте, я также воспроизвел проблему. Однако я обнаружил, что это не повлияет на результат при его запуске. Если возможно, я предлагаю вам лучше задать вопрос в начальной статье.
2. Спасибо, Джек, теперь я понял, в чем разница между образцом проекта Nish и моим проектом, и я отредактировал вопрос. Я не отправил его в качестве ответа, потому что я не понимаю причину конкретного сообщения об ошибке. Вы правы, что я мог бы задать вопрос о Code Project, и, возможно, я должен, но Stack Overflow — гораздо более активное сообщество.
3. Не могли бы вы обновить свою цель до .Net Framework 4.8? При использовании версии is ошибка при восстановлении отсутствует.