silverlight中文本框的值+;MVVM

silverlight中文本框的值+;MVVM,mvvm,textbox,Mvvm,Textbox,我有一个xaml名称Customer.xaml,如下所示: <Grid x:Name="customview" > <StackPanel x:Name="CustomPanel" > <TextBox x:Name="CustomText" /> </StackPanel> </Grid public interface ICustomerviewmodel { ICommand SaveClien

我有一个xaml名称Customer.xaml,如下所示:

<Grid x:Name="customview" >
   <StackPanel x:Name="CustomPanel" > 
      <TextBox x:Name="CustomText" />
    </StackPanel>
</Grid
public interface ICustomerviewmodel 
{
     ICommand SaveClientCommand { get; }
}

public class Customerviewmodel : ICustomerviewmodel , INotifyPropertyChanged
{
   ......
   private void ExecuteSaveClient()
   {
     //
   }
我的问题是我怎样才能得到
在函数ExecuteSaveClient()中保存此值?

使用绑定表达式:

<TextBox x:Name="CustomText" Text="{Binding TestProperty}" />

其中,
TestProperty
是视图模型上的公共属性,它是当前的
DataContext

如果您希望更新视图模型中的值,并将其反映在视图中,则
TestProperty
属性的设置程序应在视图模型实现的
INotifyPropertyChanged
接口上调用
PropertyChanged
事件。

  • 您应该在视图模型中声明字符串属性,例如:

    公共字符串CustomText{get;set;}

  • 在构造函数中将customview的datacontext指定为您的viewmodel,希望此网格位于UserControl或Window中:

    this.customview.DataContext=new CustomerViewModel()

  • 绑定到该属性:

  • 实现,如果需要双向绑定和通知


阅读更多有关silverlight数据绑定的信息。

Customer.xaml:如何获取问题代码的值并没有显示这一点,您可以将该代码添加进去吗。视图模型上是否有Name属性?您是否已将视图的DataContext设置为视图模型的实例?很抱歉,我不清楚这个问题。我将重试。我希望用户在文本框中输入一些文本,然后按“保存”按钮。我想做的就是如何获取新文本并将其保存在ExecuteSavClient()方法中。按照我给出的步骤,我相信ExecuteSavClient()已附加到SaveClientCommand,并且该命令已绑定到SaveButton。如果所有这些操作都正确完成,您应该能够使用ExecuteSaveClient()方法中的最新textbox值访问CustomText属性。今晚晚些时候我再试试。谢谢你的帮助。我会让你知道它是否有效。再次感谢。