gpt4 book ai didi

c# - 当控件来自 DataTemplate 时,BindingOperations.ClearBinding(...) 不起作用

转载 作者:行者123 更新时间:2023-11-30 15:38:16 27 4
gpt4 key购买 nike

我有点卡在这个上面了。清除不属于 DataTemplate 的某些 TextBoxTextProperty 的绑定(bind)工作正常。但是当 TextBoxDataTemplate 的一部分时,清除绑定(bind)似乎是一个无操作,如下面的片段所示。监视值是 true,即使绑定(bind)可能已被清除:

enter image description here

这是设计使然吗?如果不是,我做错了什么?

这是 ClearBinding(...) 的 MSDN 文档:http://msdn.microsoft.com/en-us/library/system.windows.data.bindingoperations.clearbinding

最佳答案

我找到了这个 MSDN post这涵盖了这个问题。虽然它似乎没有真正解释这个问题,但它确实提供了一个似乎工作正常的解决方法。

我用一些虚拟值替换绑定(bind)来替换 ClearBinding 调用:

AssociatedObject.SetBinding(TextBox.TextProperty, "dummy");

现在看来,当控件不是来自 DataTemplate 时,这似乎会中断。因此,为了解决这个问题,并覆盖 DataTemplate 中的 TextBoxes,否则,我现在这样做:

BindingOperations.ClearBinding(AssociatedObject, TextBox.TextProperty);
if (BindingOperations.IsDataBound(AssociatedObject, TextBox.TextProperty))
AssociatedObject.SetBinding(TextBox.TextProperty, "dummy");

瞧,绑定(bind)被“切断”了,所以我的水印现在似乎可以正常工作了。

关于c# - 当控件来自 DataTemplate 时,BindingOperations.ClearBinding(...) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11669282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com