silverlight中文本框的值+;MVVM
我有一个xaml名称Customer.xaml,如下所示: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
<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属性。今晚晚些时候我再试试。谢谢你的帮助。我会让你知道它是否有效。再次感谢。