从视图传递值到查看模型

时间:2012-11-30 06:44:50

标签: silverlight mvvm

我有一个带有文本框的Xaml页面和一个按钮当用户单击按钮时应该将文本框值传递给它的viewModel。怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

XAML:

<TextBox Text={Binding TextBoxAContent} />
<Button Command={Binding ButtonCommand} />

查看模型代码应该是这样的:

class MainPageViewModel : ViewModelBase
{
    private string _textBoxAContent;
    public string TextBoxAContent
    {
       get {return _textBoxAContent;}
       set {
              _textBoxAContent = value;
              RaisePropertyChanged("TextBoxAContent");
           } 
    }

    public ICommand ButtonCommand
    {
       get
       {
            return new RelayCommand(ProcessTextHandler);
       }
    }

    private void ProcessTextHandler()
    {
       //add your code here. You can process your textbox`s text using TextBoxAContent property.
    }
}

您还应该将视图模型分配给视图控件的DataContext属性进行查看。 (只是在构造函数中)

public MainPage()
{
    DataContext = new MainPageViewModel();
}

<强> UPD

P.S。 RelayCommand&amp; ViewModelBase - 来自MVVM Light

的类