private void button1_Click(object sender, RoutedEventArgs e)
{
    BindingExpression bindingExpression = textbox1.GetBindingExpression(TextBox.TextProperty);
    bindingExpression.UpdateSource(); 
}
textbox1的文本绑定被修改为了Explicit方式(代码没写出来),这样,鼠标离开文本框的时候就不会自动更新了。
button1的点击事件,就是手动将textbox1的文本更新到数据源,这里面与textbox1进行了交互。
请问,如果要使用MVVM,在ViewModel里面,需要创建一个什么的属性呢?或者有其它好的方法没有?

解决方案 »

  1.   

    界面对应一个model类,里面写个命令的属性,
     private RelayCommand myCommand;
            public ICommand MyCommand
            {
                get
                {
                    return this.myCommand?? (this.myCommand= new RelayCommand(
                        () =>
                        {
                            //点击事件的方法
                        }
                        ));
                }
            } <Button Command="{Binding CancelCommand}" />其余属性省略
      

  2.   

    点击事件的方法,不也是要与textbox1交互吗?还不是与UI交互了
      

  3.   

    汗,你以为mvvm是什么意思啊
    mvvm其实就是说的绑定的含义。