【发布时间】:2018-10-09 09:00:38
【问题描述】:
我创建了简单的StateTrigger 来绑定到FrameworkElement Width 属性。存在三个依赖属性:MinValue、MaxValue 和 Element。它们的类型分别为double、double 和FrameworkElement。
我注意到,根据绑定顺序,它可能有效,也可能无效。
这很好用。
<local:ElementWidthTrigger MaxValue="1000"
MinValue="800"
Element="{Binding ElementName=LayoutRoot}" />
这不是。
<local:ElementWidthTrigger Element="{Binding ElementName=LayoutRoot}"
MaxValue="1000"
MinValue="800" />
注意到这两个示例的唯一区别是Element 属性绑定顺序。
在ElementWidthTrigger 中,每个依赖属性都有属性更改回调。当Element 在最顶部时,无论如何都不会调用回调。
x:Bind 解决了这个问题,无论使用什么顺序,但问题仍然存在。谁能解释为什么 Element 属性无法根据绑定顺序进行绑定?
在 Windows 10 1803 build 17134.320 上运行。
可以在here找到工作示例项目。
【问题讨论】:
-
写得真好!
标签: xaml binding uwp visualstates xbind