开发者

Value of a textbox in silverlight + MVVM

I have a xaml names Customer.xaml like this:

<Grid x:Name="customview" >
   <StackPanel x:Name="Cu开发者_C百科stomPanel" > 
      <TextBox x:Name="CustomText" />
    </StackPanel>
</Grid

Using MVVM I have created ICustomerviewmodel and Customerviewmodel like this:

public interface ICustomerviewmodel 
{
     ICommand SaveClientCommand { get; }
}

public class Customerviewmodel : ICustomerviewmodel , INotifyPropertyChanged
{
   ......
   private void ExecuteSaveClient()
   {
     //
   }

My question is how I could get the value of inside the function ExecuteSaveClient() to save this?


  • You should declare a string property in your view model say:

    public string CustomText { get; set; }

  • Assign datacontext of customview to be your viewmodel int the constructor, hope this grid is in a UserControl or Window:

    this.customview.DataContext = new CustomerViewModel();

  • Bind to that property:

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

  • Implement INotifyPropertyChanged, if TwoWay binding and notification are required.

Read more into silverlight databinding here.


Use a binding expression:

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

Where TestProperty is a public property on your view model which is the current DataContext.

If you wish to update the value in your view model, and have this reflected in the view, then the setter of the TestProperty property should invoke the PropertyChanged event on the INotifyPropertyChanged interface implemented by your view model.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜