![](/img/trans.png)
[英]Dependency Property Binding and updating to a custom control — It updates, but apparently not both ways?
[英]Is there a way to control the Dependency Property Binding order value updates?
有没有办法操纵顺序,其中依赖属性接收其值:
XAML:
<Window local:MyHelper.SomeAttachedProp="{Binding Something , Mode=OneWay}">
<Grid>
<TextBlock Text="Let him go first"
local:MyHelper.AnotherAttachedBooleanProp="True" />
</Grid>
</Window>
CS:
public static class MyHelper
{
propa ....
OnSomeAttachedPropChanged( .... )
{
// I WANT TO GET HERE FIRST
}
propa .....
OnAnotherAttachedBooleanPropChanged( .... )
{
// I WANT TO GET HERE SECOND
}
}
目前我在OnSomeAttachedPropChanged之前到达AnotherAttachedBooleanPropChanged是否有任何方法可以控制更新依赖属性的顺序?
编辑:
我只记得/意识到了什么,直接分配的DP将在绑定之前得到更新。
我不知道有什么直接的方法可以做到这一点。 而我个人从未有过这样做的愿望。 当您仅使用OnXYZChanged
方法注册事件时(这是最常见的情况),您可以注册到更适合您所需代码执行顺序的事件。 例如,在OnXYZChanged
寄存器中,对Loaded
事件和处理它,这些顺序应该是从Root到child的顺序,因此顺序正确。
另一种方法是测试哪一个被称为第二个,并在那里做你的逻辑。 另一个想法是使用Dispatcher
并在稍后确定所有内容都已加载时执行所有逻辑。
最后一个想法,您可以使用VisualTreeHelper
从OnXYZChanged
的子元素OnXYZChanged
到底层窗口,并首先在窗口上设置属性,然后处理子窗口的逻辑。
@Your编辑:
如果你考虑一下,这是有道理的。 必须创建可视树,并且必须先绑定所有内容,然后Binding才能遍历树以查找适当的DataContext。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.