我有一个带有文本框的Xaml页面和一个按钮当用户单击按钮时应该将文本框值传递给它的viewModel。怎么做到这一点?
答案 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
的类