我创建了简单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 版本 17134.320 上运行。
工作示例项目可以在这里找到。