Не уверен, что это вам уже поможет:
DataGrid использует виртуализация пользовательского интерфейса , что означает, что объекты не создаются до того, как они будут видны на экране, и соответствующие свойства ваших исходных объектов не будут вызываться, пока они не видны. Это также означает, что элементы пользовательского интерфейса перерабатываются после того, как они больше не видны.
Это бесплатно, и вам не нужно делать дополнительное кодирование, чтобы использовать эту функцию. Если я правильно истолковываю ваш вопрос, главный вопрос в том, как узнать, что необходимо свойство бизнес-объекта. Для виртуализации пользовательского интерфейса это когда свойство вызывается в первый раз. Вы можете выполнить некоторую ленивую инициализацию. Но будьте осторожны, чтобы добавить слишком тяжелый код инициализации в свойства (синхронный поиск в БД и т. Д.), Иначе ваша DataGrid станет очень медленной и неуправляемой.