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

Posted

技术标签:

【中文标题】Visibility = IsCollapsed 是不是跳过数据绑定部分?【英文标题】:Does Visibility = IsCollapsed skip the data-binding part?Visibility = IsCollapsed 是否跳过数据绑定部分? 【发布时间】:2011-01-08 01:59:39 【问题描述】:

如果我将 StackPanel 或我拥有的任何绑定区域设置为“已折叠”,是否会加载数据? 它会触发它的 Loaded 事件吗?

【问题讨论】:

【参考方案1】:

是的:

您的数据绑定将被评估, 您的 Initialized 事件将触发,并且 您的 Loaded 事件将触发

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

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

因此,底线是,如果您想避免为 UI 的不可见部分加载数据,请在首次测量控件之前不要加载数据并设置 DataContext。还可以考虑将任何复杂性放入模板中。

【讨论】:

以上是关于Visibility = IsCollapsed 是不是跳过数据绑定部分?的主要内容,如果未能解决你的问题,请参考以下文章

选择:通过单击选定文本取消选择的 isCollapsed 值不正确

Angular UI 和 Bootstrap:点击链接时折叠移动导航栏

vue关闭所有二级菜单

transition与visibility与display

C#,WPF,Visibility类型为Visible后无法转为Collapsed,显示后隐藏

backface-visibility 属性