Visibility = IsCollapsed пропускает часть привязки данных? - PullRequest
9 голосов
/ 22 января 2010

Если я установлю StackPanel или какую-либо связанную область у меня как 'Свернутую', данные загружаются?
Это вызовет событие Loaded?

1 Ответ

11 голосов
/ 22 января 2010

Да

  • Ваши привязки данных будут оценены,
  • Ваши инициализированные события будут срабатывать, а
  • Ваши загруженные события сработают

Но в разделе визуального дерева под элементом Visibility="Collapsed":

  • Ваши элементы управления не будут измеряться или располагаться
  • Шаблоны ваших элементов управления не будут применяться

Итак, суть в том, что если вы хотите избежать загрузки данных для невидимых разделов вашего пользовательского интерфейса, не загружайте ваши данные и не устанавливайте свой DataContext до тех пор, пока не будет измерен элемент управления. Также рассмотрите возможность добавления любой сложности в шаблон.

...