Как обработать событие Wpf DataGrid CellEditEnding в MVVM? - PullRequest
5 голосов
/ 18 сентября 2010

MVVM не разрешает выделение кода и, следовательно, обработку событий.Так как же MVVM-способ быть уведомленным об изменении ячейки?

Ответы [ 4 ]

1 голос
/ 18 сентября 2010

Это довольно законный и очевидный вопрос, поскольку для MVVM есть вполне законные решения проблемы. Я предполагаю, что кто-то отметил это, потому что это, вероятно, задавали бесчисленное количество раз прежде.

Я знаю, что есть что-то встроенное для этого в .Net4. Я застрял в .Net3.5, поэтому я использую класс CommandReference из инструментария WPF, чтобы преобразовать событие в представлении в команду в модели представления.

0 голосов
/ 27 июля 2016

Так как на этот вопрос никогда не было отмечено ответа; то, что вы хотите, это реализация «событие в команду». По сути, он захватывает событие по вашему выбору и вызывает реализацию ICommand в вашей ViewModel.

Уже ответили здесь в итоге (проверьте ответ Дереком Битти).

0 голосов
/ 06 января 2011

"MVVM не разрешает выделение кода и обработку событий."

Упс! Вот в чем проблема.

MVVM препятствует написанию кода, это правда, но только тогда, когда что-то можно сделать разумно через Xaml. «Ты не будешь скрытым», никто никогда не говорил с подсказкой.

Иногда обработка события - это самый простой и лучший способ достичь своей цели. Когда это так, примите это, решите свою проблему и идите дальше. Иногда даже невозможно достичь своей цели в XAML. В этих случаях, бросьте логику представления в коде позади представления и продолжайте.

Гораздо важнее поддерживать архитектурные цели MVVM (разделение проблем между уровнями), чем строго соблюдать эмпирические правила (например, избегать выделения кода). Если это различие не сделано, ты скучаешь по лесу за деревьями.

0 голосов
/ 21 сентября 2010

Вам нужно обработать событие CellEditEnding?Будет ли возможность выполнить код в установщике свойства, связанного с ячейкой?

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