Оба проекта основаны на. Net SDK4.7.2 и протестированы на Windows 10 x64 1803. Цель сборки: DEBUG x64
Существует два проекта WPF. Они имеют одинаковые файлы MainWindow.xaml (с одинаковым содержимым), только разные по структуре и настройкам проекта. При использовании ТОГО ЖЕ исходного кода встроенные приложения ведут себя по-разному.
Приложение содержит представление списка в главном окне, которое привязано к коллекции ObserverableCollection, заполненной объектами. Различное поведение:
- Один проект, скажем Project Navi , его просмотр списка Navigation . Когда кнопка W постоянно нажата, элементы выбираются один за другим по кругу. Это поведение конфликтует с настроенными обработчиками событий KeyDown.
- Другой проект, скажем Project Non-Navi , не реагирует на нажатие клавиши W (как и другие клавиши).
У меня есть несколько исследований:
- Декомпилировано с Отражатель , декомпилированный код такой же.
- Сравнение стека вызовов: нажатие клавиши W при нажатии другой клавиши , нажатие клавиши Project Navi W было переведено в WM_SYSDEADCHAR, что, по-видимому, приводит к поведению навигации.
- Декомпилировано с Ildasm и сравните раздел манифеста, различия находятся только в информации об авторском праве и именах сборок.
- Настройки проекта: обнаружены только нефункциональные (например, цели сборки) различия.
Поскольку в структурах это сложно описать и подробности, я загружаю два проекта здесь .
Я знаю, что, должно быть, что-то пропустил, но я не знаю, что именно.