0

我有一个Grid带有一些子窗口的窗口。其中一些孩子有MultiBinding一个复杂的转换器。现在,如果我隐藏网格(CollapsedHidden),转换器仍会被调用。为什么?!

当我隐藏一个 UI 元素时,我希望渲染器完全跳过它的可视化树。更具体地说,我希望我的转换器在“隐藏”上下文中运行时不会被调用!想法?

4

1 回答 1

1

即使元素的Visibility属性是CollapsedHidden它仍然是逻辑树的一部分,因此转换器在元素不可见时继续工作是完全正常的。

在元素折叠或隐藏时禁用值转换的一种简单解决方案是使用ConverterParameter 属性,将其绑定到元素的 Visibility 属性并在转换器中检查此属性是否设置为折叠或隐藏,如果是则跳过转换.. .

可能有一个更优雅的解决方案,但如果没有人想到更好的方法而不是完全从逻辑树中删除元素,这应该可以解决问题......

于 2014-04-14T19:36:11.513 回答