Visibility = IsCollapsed跳过数据绑定部分吗?

Shi*_*mmy 9 wpf binding visibility wpf-controls

如果我设置一个StackPanel或者我所拥有的区域为'Collapsed',数据是否加载?
它会触发其Loaded事件吗?

Ray*_*rns 11

是:

  • 您的数据绑定将被评估,
  • 您的已初始化事件将触发,并且
  • 您的已装载事件将会触发

但是在Visibility="Collapsed"元素下的可视树的部分中:

  • 您的控件不会被测量或安排
  • 您的控件的模板将不会应用

因此,最重要的是,如果您想避免为UI的不可见部分加载数据,请不要加载数据并设置DataContext,直到首次测量控件为止.还要考虑在模板中添加任何复杂性.