From 3d9f030ebbb53f19291be5e8fbd2fa5923d2bb8e Mon Sep 17 00:00:00 2001 From: syneffort Date: Tue, 18 Jul 2023 16:24:07 +0900 Subject: [PATCH] address book using mvvm --- .../AddressBook_MVVMSample/MainWindow.xaml.cs | 3 +- .../SubWindow/AddViewWindow.xaml | 2 +- .../AddressBook_MVVMSampleV2.csproj | 14 +++ .../AddressBook_MVVMSampleV2/App.xaml | 8 ++ .../AddressBook_MVVMSampleV2/App.xaml.cs | 42 +++++++ .../AddressBook_MVVMSampleV2/AssemblyInfo.cs | 10 ++ .../Interface/IDialogView.cs | 16 +++ .../Interface/IMessageBoxService.cs | 17 +++ .../Interface/IWindowView.cs | 16 +++ .../AddressBook_MVVMSampleV2/MainWindow.xaml | 12 ++ .../MainWindow.xaml.cs | 28 +++++ .../AddressBook_MVVMSampleV2/Model/Person.cs | 53 +++++++++ .../Service/MessageBoxService.cs | 28 +++++ .../View/AddView.xaml | 65 +++++++++++ .../View/AddView.xaml.cs | 31 +++++ .../View/MainView.xaml | 54 +++++++++ .../View/MainView.xaml.cs | 31 +++++ .../ViewModel/AddViewModel.cs | 67 +++++++++++ .../ViewModel/MainViewModel.cs | 109 ++++++++++++++++++ PacticeSolution/PacticeSolution.sln | 6 + 20 files changed, 609 insertions(+), 3 deletions(-) create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/AddressBook_MVVMSampleV2.csproj create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/App.xaml create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/App.xaml.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/AssemblyInfo.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/Interface/IDialogView.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/Interface/IMessageBoxService.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/Interface/IWindowView.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/MainWindow.xaml create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/MainWindow.xaml.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/Model/Person.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/Service/MessageBoxService.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/View/AddView.xaml create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/View/AddView.xaml.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/View/MainView.xaml create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/View/MainView.xaml.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/ViewModel/AddViewModel.cs create mode 100644 PacticeSolution/AddressBook_MVVMSampleV2/ViewModel/MainViewModel.cs diff --git a/PacticeSolution/AddressBook_MVVMSample/MainWindow.xaml.cs b/PacticeSolution/AddressBook_MVVMSample/MainWindow.xaml.cs index 789facb..2ea5eee 100644 --- a/PacticeSolution/AddressBook_MVVMSample/MainWindow.xaml.cs +++ b/PacticeSolution/AddressBook_MVVMSample/MainWindow.xaml.cs @@ -104,8 +104,7 @@ namespace AddressBook_MVVMSample if (modify.ShowDialog() != true) return; - //this.Persons[this.SelectedIndex] = modifiedData; - selectedData = modifiedData; + this.Persons[this.SelectedIndex] = modifiedData; } private void CommandExitAction(object obj) diff --git a/PacticeSolution/AddressBook_MVVMSample/SubWindow/AddViewWindow.xaml b/PacticeSolution/AddressBook_MVVMSample/SubWindow/AddViewWindow.xaml index 6c58e37..9f27819 100644 --- a/PacticeSolution/AddressBook_MVVMSample/SubWindow/AddViewWindow.xaml +++ b/PacticeSolution/AddressBook_MVVMSample/SubWindow/AddViewWindow.xaml @@ -6,7 +6,7 @@ xmlns:local="clr-namespace:AddressBook_MVVMSample.SubWindow" mc:Ignorable="d" d:DataContext="{d:DesignInstance local:AddViewWindow}" - Title="{Binding Caption, UpdateSourceTrigger=PropertyChanged}" Height="300" Width="300" + Title="{Binding Caption, UpdateSourceTrigger=PropertyChanged}" Height="300" Width="320" WindowStartupLocation="CenterOwner">