Короче говоря, моя проблема в том, что WPF DataGrid не позволяет мне выбирать ничего, кроме первой строки. Когда я впервые заполняю его данными, ни одна строка не выделяется. Далее, независимо от того, на какую строку я нажимаю, загорается первая строка. Когда я связываю свойство SelectedItem с помощью OneWayToSource, я вижу, что строка правильная действительно выбрана. Если я решу щелкнуть еще раз в другой строке, ничего не произойдет: пользовательский интерфейс останется в первой строке, а свойство SelectedItem сохранит ранее правильное значение. На этом этапе я должен нажать Ctrl + клик по строке first , чтобы отменить выбор. Это позволяет мне повторить вышеописанную ситуацию.
Другими словами:
- пользовательский интерфейс, кажется, не синхронизирован с тем, что фактически выбрано.
- Ctrl-щелчок необходим для отмены выбора.
- Ctrl-щелчок должен выполняться в первой строке, даже если свойство SelectedItem указывает, что выбрана другая строка.
Я понимаю, что это странное поведение. Я пытался скопировать его в отдельный проект, но безуспешно. Поэтому я просто добавляю это, чтобы посмотреть, есть ли у кого-нибудь идеи, почему он может так себя вести?
Единственное, что я не продублировал в своем отдельном проекте, - это использование MEF для подключения View / ViewModel. Все остальное тоже самое.
РЕДАКТИРОВАТЬ: Я только что заменил DataGrid на ListBox и у меня возникла та же проблема. Я использую Snoop, чтобы попытаться выяснить, что может быть применено к элементу управления, который так сильно изменит его поведение.