绑定与变量的显式赋值
本文关键字:赋值 变量 绑定 | 更新日期: 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。