From 6c6327c554fe1842b6f7b9f22b46854fe4166598 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Tue, 13 Sep 2022 22:23:27 +0500 Subject: [PATCH] Partially fix work with user color --- .../FieldViewerViewModel.cs | 12 +++++++ FieldVisualizer/ViewModels/ViewModelBase.cs | 24 ++++++++++++++ .../Windows/UserControls/FieldViewer.xaml | 5 +-- .../Windows/UserControls/FieldViewer.xaml.cs | 33 +++++++++++++++---- 4 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs create mode 100644 FieldVisualizer/ViewModels/ViewModelBase.cs diff --git a/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs new file mode 100644 index 0000000..32e5dd3 --- /dev/null +++ b/FieldVisualizer/ViewModels/FieldViewerViewModels/FieldViewerViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FieldVisualizer.ViewModels.FieldViewerViewModels +{ + public class FieldViewerViewModel : ViewModelBase + { + } +} diff --git a/FieldVisualizer/ViewModels/ViewModelBase.cs b/FieldVisualizer/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..15bfbe7 --- /dev/null +++ b/FieldVisualizer/ViewModels/ViewModelBase.cs @@ -0,0 +1,24 @@ +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace FieldVisualizer.ViewModels +{ + public class ViewModelBase : INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged(T value, T prop, [CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnPropertyChanged(T value, ref T prop, [CallerMemberName] string propertyName = null) + { + prop = value; + OnPropertyChanged(propertyName); + } + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } +} diff --git a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml index bb9b474..3f3d6cd 100644 --- a/FieldVisualizer/Windows/UserControls/FieldViewer.xaml +++ b/FieldVisualizer/Windows/UserControls/FieldViewer.xaml @@ -36,10 +36,11 @@ - + - + +