绑定与变量的显式赋值

本文关键字:赋值 变量 绑定 | 更新日期: 2023-09-27 18:12:01

我在考虑以下问题。

如果我有一个文本框/滑动条/组合框它的值被绑定到像

这样的地方
<TextBox Name=textBox Text="{Binding Text}"/>

,然后做

textBox.Text = "something"

它会"覆盖"绑定还是绑定比显式赋值更"强"

绑定与变量的显式赋值

不,绑定将被覆盖。

不,它不会更新你的绑定。绑定只有在来自View时才会更新,如果您从后面的代码中设置它,它将覆盖文本,但会破坏绑定。你可以试试这个例子-

    在视图上放置一个文本框,并将它的text属性绑定到some属性的值为"Test"现在在视图上放置两个按钮。
  • 在第一个按钮上单击简单地将文本框的文本设置为"Button1".
  • 你会注意到文本框的文本现在是"Button1",但你的CLR属性的值仍然是"Test"。
  • 现在点击第二个按钮,尝试将Viewmodel属性设置为"Button2"。PropertyChanged将被触发,但您不会注意到

如果你想更新绑定,你必须在代码后面设置Dependency属性,像这样-

textBox.SetCurrentValue(TextBox.TextProperty, "Button2");

其中textBox为文本框的名称

只需将您想要的值放在绑定对象的"Text"成员的文本框中。否则绑定将被覆盖,如上面提到的devdigital。