【问题标题】:Set value of DependencyProperty and preserve OneWayToSource-Binding设置 DependencyProperty 的值并保留 OneWayToSource-Binding
【发布时间】:2013-12-17 15:21:12
【问题描述】:

如果我在一个属性上设置了 DependencyObjectOneWayToSource Binding,然后尝试再次设置 DP 的值,则 Binding 将被删除。 我不能使用直接(正常)绑定的“反向”方式,所以我必须使用 OneWayToSource 绑定。我的问题是是否有其他方法可以实现这一目标。

【问题讨论】:

    标签: c# wpf binding dependencyobject


    【解决方案1】:

    让我看看我是否理解正确,你有这样的事情:

    <SomeControl x:Name="MyControl" MyProp="{Binding Something, Mode="OneWayToSource"}".../>
    

    然后,在代码隐藏中,您尝试将 MyProp 设置为其他值

    MyControl.MyProp = SomethingElse;
    

    现在对MyProp 的更改不会更新Something,因为绑定已被删除。对吧?

    在这种情况下,如果您在 .NET 4.0 或更高版本下工作,则可以使用SetCurrent

    MyControl.SetCurrent(MyPropProperty, SomethingElse);
    

    【讨论】:

    • 太棒了!我永远不会发现这个。我想知道其他 .NET 版本中是否有办法...
    • 在 4.0 中添加。直到那时,它才被深深地怀念。 IIRC,有一些方法,但它们很乱。
    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 2014-09-27
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多