А в чем проблема? Ну добавьте в базовый ViewModel, как и написано в примере свойство IsVisible и через Binding свяжите со свойство Visibility (нужен будет конвертер). Теперь главный ViewModel сможет скрывать главное окно и показывать дочернее. В форму логина добавьте событие вызываемое при закрытии этого окна, на событие при создании окна логина будет подписываться главный ViewModel и показывает главное окно или опять окно логина. Все. Тот сценарий который вы описываете нормально в это вписывается.
Вот здесь losev-al.blogspot.ru/2015/12/view-mvvm-2.html посмотрите достаточно подробный пример. Библиотеку которой пользуемся выложить не могу, надо бы ее почистить от зависимостей перед этим.
Для клика, добавьте кнопку, а вот эти все магические пасы при помощи нестандартных кликов, дополнительно нажатых клавиш, лучше не делать. По результатам использования замены на ObservableCollection отпишитесь тогда.
Скорее всего у вас проблема обновления связана с отсутствием механизма уведомления об изменениях значений/коллекций. Например, у вас Results - типа ObservableCOllection?
Какое событие вы хотите отслеживать и что именно вы хотите делать? Если вы хотите менять визуальную часть (например, менять цвет фона), то вам может подойти Binding к свойству Text и прогон его через конвертор. Если вам нужно на изменение текста выполнять работу бизнес-логики, то как я уже сказал все это должно быть во ViewModel.
Артем, еще раз, вы все сделали правильно с добавлением колонок. Они добавляются. Данные у вас тоже показываются? Или нет? Если показываются, то зачем вы их пытаетесь менять из View. Все изменения данных должны идти в ViewModel. Если данные не показываются, то это другой вопрос и надо тогда смотреть Binding.
Сорри, телерик не испотльзую, поэтому проверить почему не работает не могу. Но в вашем коде меня напрягает другое, зачем вы пытаетесь менять данные через View? Почему вы источник данных не меняете?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.