From a5f642d95cda16276248dbb2814aedb69da6e23a Mon Sep 17 00:00:00 2001 From: Antony Male Date: Sat, 14 Mar 2015 14:53:55 +0000 Subject: [PATCH] Improve Stylet.Samples.Validation, and remove .TryClose --- .../Stylet.Samples.HelloDialog/Dialog1ViewModel.cs | 2 +- .../Pages/UserView.xaml | 12 ++++++------ .../Pages/UserViewModel.cs | 4 ++++ .../Pages/PostCommentsViewModel.cs | 2 +- .../Pages/PostsViewModel.cs | 4 ++-- .../Pages/SubredditViewModel.cs | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Samples/Stylet.Samples.HelloDialog/Dialog1ViewModel.cs b/Samples/Stylet.Samples.HelloDialog/Dialog1ViewModel.cs index 75b3f8f..b7c73aa 100644 --- a/Samples/Stylet.Samples.HelloDialog/Dialog1ViewModel.cs +++ b/Samples/Stylet.Samples.HelloDialog/Dialog1ViewModel.cs @@ -13,7 +13,7 @@ namespace Stylet.Samples.HelloDialog public void Close() { - this.TryClose(true); + this.RequestClose(true); } } } diff --git a/Samples/Stylet.Samples.ModelValidation/Pages/UserView.xaml b/Samples/Stylet.Samples.ModelValidation/Pages/UserView.xaml index 8d8f2f8..e61bb1b 100644 --- a/Samples/Stylet.Samples.ModelValidation/Pages/UserView.xaml +++ b/Samples/Stylet.Samples.ModelValidation/Pages/UserView.xaml @@ -21,7 +21,7 @@ + Text="{Binding ElementName=CustomAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"/> @@ -53,19 +53,19 @@ - + - + - + - + - + Auto-Validate diff --git a/Samples/Stylet.Samples.ModelValidation/Pages/UserViewModel.cs b/Samples/Stylet.Samples.ModelValidation/Pages/UserViewModel.cs index b5f8e69..93fe583 100644 --- a/Samples/Stylet.Samples.ModelValidation/Pages/UserViewModel.cs +++ b/Samples/Stylet.Samples.ModelValidation/Pages/UserViewModel.cs @@ -27,6 +27,10 @@ namespace Stylet.Samples.ModelValidation.Pages public UserViewModel(IWindowManager windowManager, IModelValidator validator) : base(validator) { this.windowManager = windowManager; + // Force initial validation + this.Validate(); + // Whenever password changes, we need to re-validate PasswordConfirmation + this.Bind(x => x.Password, (o, e) => this.ValidateProperty(() => this.PasswordConfirmation)); } protected override void OnValidationStateChanged(IEnumerable changedProperties) diff --git a/Samples/Stylet.Samples.RedditBrowser/Pages/PostCommentsViewModel.cs b/Samples/Stylet.Samples.RedditBrowser/Pages/PostCommentsViewModel.cs index ff53ddd..df48acd 100644 --- a/Samples/Stylet.Samples.RedditBrowser/Pages/PostCommentsViewModel.cs +++ b/Samples/Stylet.Samples.RedditBrowser/Pages/PostCommentsViewModel.cs @@ -23,7 +23,7 @@ namespace Stylet.Samples.RedditBrowser.Pages public void GoBack() { - this.TryClose(); + this.RequestClose(); } } } diff --git a/Samples/Stylet.Samples.RedditBrowser/Pages/PostsViewModel.cs b/Samples/Stylet.Samples.RedditBrowser/Pages/PostsViewModel.cs index 4cc124f..74330f2 100644 --- a/Samples/Stylet.Samples.RedditBrowser/Pages/PostsViewModel.cs +++ b/Samples/Stylet.Samples.RedditBrowser/Pages/PostsViewModel.cs @@ -29,13 +29,13 @@ namespace Stylet.Samples.RedditBrowser.Pages } catch (Exception) { - this.TryClose(); + this.RequestClose(); } } public void Close() { - this.TryClose(); + this.RequestClose(); } public bool CanNext diff --git a/Samples/Stylet.Samples.RedditBrowser/Pages/SubredditViewModel.cs b/Samples/Stylet.Samples.RedditBrowser/Pages/SubredditViewModel.cs index eae98fb..c1a4292 100644 --- a/Samples/Stylet.Samples.RedditBrowser/Pages/SubredditViewModel.cs +++ b/Samples/Stylet.Samples.RedditBrowser/Pages/SubredditViewModel.cs @@ -42,7 +42,7 @@ namespace Stylet.Samples.RedditBrowser.Pages // If we're setting the ActiveItem to null, that means everything's been closed - close ourselves if (newItem == null) - this.TryClose(); + this.RequestClose(); } }