我创建了简单的 StateTrigger
来绑定(bind)到 FrameworkElement
Width
属性。共有三个依赖属性:MinValue
、MaxValue
和 Element
。它们的类型分别是 double
、double
和 FrameworkElement
。
而且我注意到,根据绑定(bind)顺序,它可能有效也可能无效。
这很好用。
<local:ElementWidthTrigger MaxValue="1000"
MinValue="800"
Element="{Binding ElementName=LayoutRoot}" />
这不是。
<local:ElementWidthTrigger Element="{Binding ElementName=LayoutRoot}"
MaxValue="1000"
MinValue="800" />
注意到这两个示例的唯一区别是 Element
属性绑定(bind)顺序。
在 ElementWidthTrigger
中,每个依赖属性都有属性更改回调。当 Element
位于最顶部时,无论如何都不会调用它的回调。
x:Bind
解决了这个问题,无论使用什么顺序,但问题仍然存在。谁能解释为什么 Element
属性无法根据绑定(bind)顺序进行绑定(bind)?
在 Windows 10 1803 build 17134.320 上运行。
可以找到工作示例项目 here .
最佳答案
感谢您报告此问题并提供可靠的重现项目 - 这是一个平台错误。我已将其记录在我们的数据库中并分配给正确的团队。再次感谢!
关于xaml - 绑定(bind)到 ElementName 取决于绑定(bind)顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52717132/