假设我在表单上有一个文本框,并且启用了它(用户可以键入任何他们想要的内容)。有一个设置为字符串属性的OneWay绑定,因此当ViewModel更改该属性时,文本框也会更新。现在,当用户手动更改文本框中的值时会发生什么。绑定是否会被文本框的新值覆盖?或者它只是记住了值并保留了绑定,所以当我下次在ViewModel中更新属性时,更改将反映在UI中?
发布于 2013-07-01 21:31:40
public class VM : INPCBase
{
private string _myText;
public string MyText
{
get { return _myText; }
set { _myText = value; this.NotifyPropertyChanged(()=>MyText);}
}
public void Blup()
{
this.MyText = "blup";
}
}
public partial class MainWindow : Window
{
private VM data = new VM();
public MainWindow()
{
InitializeComponent();
data.MyText = "sdfjksj";
this.DataContext = data;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
this.data.Blup();
}
}xaml
<TextBox Text="{Binding MyText, Mode=OneWay}"/>
<Button Click="button1_Click" />无论用户是否手动更改该值,绑定仍然有效。但是用户永远不会从视图到视图模型获得值,因为它的OneWay
https://stackoverflow.com/questions/17401844
复制相似问题