Ответ 1
Этот ответ описывает ту же ситуацию, что и ваша. (Он ссылается на этот ответ на другом сайте).
Обработка диспетчера приостанавливается, чтобы избежать проблем с появлением при обновлении визуального дерева.
Если вам действительно нужно отобразить окно сообщения в ответ на ваше событие "Row Loaded", вам необходимо отложить вызов с помощью `Dispatcher.BeginInvoke().
Итак, замените:
MessageBox.Show(((RadGridView)sender).Columns.Count.ToString(CultureInfo.InvariantCulture));
с:
var msg = ((RadGridView)sender).Columns.Count.ToString(CultureInfo.InvariantCulture);
Dispatcher.BeginInvoke(new Action(() => MessageBox.Show(msg)));
Если этот код находится в объекте WPF, то доступно свойство Dispatcher
. В противном случае вам нужно получить его откуда-то еще.