2

我正在寻找相当于.NET 4的SetCurrentValue API的SL4,这看起来正是我需要的场景。Silverlight DependencyProperty.SetCurrentValue Equivalent

总之,我正在写一个附加的行为,在适当的时候更新给定属性的值。但是,我不希望它覆盖在该依赖项属性上设置的任何绑定。我只是想将该值推送给属性(因此可以根据该值刷新任何绑定)。

从我可以告诉,有没有简单的方法来做到这一点,但在SL4。

谢谢

回答

2

Silverlight不提供直接访问此级别的依赖项值。然而,它在操纵属性时设置故事板中的动画的这种级别的价值。

因此,包含单个DiscreteObjectKeyFrame的长度为0的故事板可能会实现您的预​​期结果。

+1

只是尝试这样做,很惊讶地报告它似乎工作。我很惊讶,因为它是一个动画,所以我认为低优先级会导致问题。如果可以的话,我一定会坚持使用这个解决方案,因为它的代码更少。谢谢。 – 2010-07-14 14:50:50

1

我已经设法通过检测绑定并在源和目标之间注入代理对象来模拟我所追求的内容。然后,我可以操纵代理并使原始绑定的两侧都刷新。

这是丑陋的,比我想要的更多的工作,但它似乎工作。

肯特

+1

你介意分享一个解决方案的例子吗? – jpierson 2010-12-06 18:37:20

+0

@KentBoogaart你能帮忙吗?我需要在Silverlight/WPF跨平台代码SetCurrentValue http://stackoverflow.com/questions/13181788/wpf-dependency-property-precedence-reference-type-default-values#comment17945942_13181788 – 2012-11-01 20:40:33