WPF: один и тот же код, разные настройки проекта и структуры, приводящие к путанице в различном поведении - PullRequest
0 голосов
/ 15 апреля 2020

Оба проекта основаны на. Net SDK4.7.2 и протестированы на Windows 10 x64 1803. Цель сборки: DEBUG x64

Существует два проекта WPF. Они имеют одинаковые файлы MainWindow.xaml (с одинаковым содержимым), только разные по структуре и настройкам проекта. При использовании ТОГО ЖЕ исходного кода встроенные приложения ведут себя по-разному.

Приложение содержит представление списка в главном окне, которое привязано к коллекции ObserverableCollection, заполненной объектами. Различное поведение:

  • Один проект, скажем Project Navi , его просмотр списка Navigation . Когда кнопка W постоянно нажата, элементы выбираются один за другим по кругу. Это поведение конфликтует с настроенными обработчиками событий KeyDown.
  • Другой проект, скажем Project Non-Navi , не реагирует на нажатие клавиши W (как и другие клавиши).

У меня есть несколько исследований:

  1. Декомпилировано с Отражатель , декомпилированный код такой же.
  2. Сравнение стека вызовов: нажатие клавиши W при нажатии другой клавиши , нажатие клавиши Project Navi W было переведено в WM_SYSDEADCHAR, что, по-видимому, приводит к поведению навигации.
  3. Декомпилировано с Ildasm и сравните раздел манифеста, различия находятся только в информации об авторском праве и именах сборок.
  4. Настройки проекта: обнаружены только нефункциональные (например, цели сборки) различия.

Поскольку в структурах это сложно описать и подробности, я загружаю два проекта здесь .

Я знаю, что, должно быть, что-то пропустил, но я не знаю, что именно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...