Bindear una propiedad del view model a un componente de una vista y controlar cuando cambia
- Primero tenemos que crear nuestra variable y la propiedad pública en el view model
- Luego en el set asignarle el valor para cuando cambie y el OnPropertyChange();
{
get { return _Username; }
set
{
if (_Username != value)
{
_Username = value;
OnPropertyChanged("Username");
}
}
}- Para poder hacer eso nuestro view model tiene que heredar de la interface INotifyPropertyChanged e implementar el evento
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
- Ya solo queda bindear la propiedad a la vista, en este caso en un TextBox de un form
<Label Content="Enter username"/>
<TextBox Width="150" Text="{Binding Username, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
No hay comentarios:
Publicar un comentario