public UserDialog(UserViewModel user) { InitializeComponent(); user.WindowCloseRequest += () => this.Close(); this.DataContext = user; this.Closing += (sender, args) => user.OnClosing(args); Binding passwordBinding = new Binding(Password.Name); passwordBinding.Source = user; passwordBinding.ValidatesOnDataErrors = true; passwordBinding.Mode = BindingMode.TwoWay; // you can configure other binding stuff here PasswordBox.SetBinding(Password, passwordBinding); PasswordBox.Password = user.Password; }
public void ShowEditUserDialog(UserViewModel userViewModel) { Window window = FindFromCollection(userViewModel.Model.Id); if (window == null) { window = new UserDialog(new UserViewModel(_userService.CreateCopy(userViewModel.Model))); AddToCollection(userViewModel.Model.Id, window); } window.Closed += (sender, args) => DialogCollection.Remove(((UserViewModel)((MetroWindow)sender).DataContext).Model.Id); ActivateWindow(window); }