你能在触发器中清除一个依赖属性吗?

3

可能是重复问题:
是否可以使用setter将属性返回其默认值?

好的...我知道在代码后台,我可以调用ClearValue来清除或“取消设置”依赖属性,当然我也知道我可以在触发器中设置依赖属性,但是(......我相信你可以看到这是什么意思......)你能使用触发器来清除一个值吗?!

现在我问了几个同事,他们只是说“将其设置为null!”但那不是同一件事,因为您不会清除DP,而是将DP设置为null! 不是同一件事!

那么......你如何在触发器中清除DP? 我的想法是编写一个XAML扩展来为我完成它(无法使用转换器,因为它只返回值),但我希望微软的老朋友们已经考虑过这个问题了!

那么有人愿意尝试吗?


每当我过去在处理这个问题时,我意识到可以不必显式地清除属性,而是让WPF为我完成。也就是说,在相反的触发器中设置值以清除它所在状态的值,当退出该状态时,WPF将自动清除该值。 - Kent Boogaart
这个问题似乎是 这个问题 的准重复。 - H.B.
1个回答

2
你考虑过编写一个TriggerAction吗?也许使用Blend SDK,你可以使用一个交互(参见同一篇文章),而跳过触发器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接