├── .gitattributes ├── .gitignore ├── AsyncTest ├── AsyncTest.sln ├── AsyncTest │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── AsyncTest.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings ├── AwaitTest │ ├── App.config │ ├── AwaitTest.csproj │ ├── Program.cs │ └── Properties │ │ └── AssemblyInfo.cs └── ConcurrenceTest │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── ConcurrenceTest.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── BitStream ├── BitStream.sln └── BitStream │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── BitIO │ ├── BitReader.cs │ └── BitWriter.cs │ ├── BitStream.csproj │ ├── Codec │ ├── Decoder6.cs │ ├── Decoder7.cs │ ├── Encoder6.cs │ ├── Encoder7.cs │ ├── IDecoder.cs │ └── IEncoder.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Resource │ └── Dict.cs ├── ConfigFileTest ├── ConfigFileTest.sln └── ConfigFileTest │ ├── ConfigFile.cs │ ├── ConfigFileTest.csproj │ ├── Program.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── app.config ├── Document ├── C#并发性能测试.docx ├── CS异步操作总结.docx └── readme.txt ├── FRPTest ├── FRPTest.sln └── FRPTest │ ├── App.xaml │ ├── App.xaml.cs │ ├── FRPTest.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── app.config │ └── packages.config ├── MVVMTest ├── CommandTest │ ├── App.xaml │ ├── App.xaml.cs │ ├── CommandTest.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── View │ │ ├── MainWindow.xaml │ │ └── MainWindow.xaml.cs │ └── ViewModel │ │ └── MainWindowViewModel.cs ├── DataBinding │ ├── App.xaml │ ├── App.xaml.cs │ ├── DataBinding.csproj │ ├── Model │ │ └── TestData.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── View │ │ ├── MainWindow.xaml │ │ └── MainWindow.xaml.cs │ └── ViewModel │ │ └── MainWindowViewModel.cs ├── DataBindingTest │ ├── Class1.cs │ ├── DataBindingTest.csproj │ └── Properties │ │ └── AssemblyInfo.cs ├── EventBindingTest │ ├── App.xaml │ ├── App.xaml.cs │ ├── EventBindingTest.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── MainWindowViewModel.cs │ └── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings ├── MVVMTest.sln ├── MVVMTest │ ├── App.xaml │ ├── App.xaml.cs │ ├── MVVMTest.csproj │ ├── Message │ │ └── MainWindowMsg.cs │ ├── Model │ │ └── TestData.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── View │ │ ├── MainWindow.xaml │ │ └── MainWindow.xaml.cs │ └── ViewModel │ │ └── MainWindowViewModel.cs ├── MessageTest │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── Message │ │ ├── ComputeMsgArgs.cs │ │ └── MainRegister.cs │ ├── MessageTest.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── View │ │ ├── ComputeWindow.xaml │ │ ├── ComputeWindow.xaml.cs │ │ ├── MainWindow.xaml │ │ └── MainWindow.xaml.cs │ └── ViewModel │ │ ├── ComputeWindowViewModel.cs │ │ └── MainWindowViewModel.cs └── MyMVVM │ ├── ConfirmMsgArgs.cs │ ├── DialogMsgArgs.cs │ ├── DispatcherHelper.cs │ ├── IMessageManager.cs │ ├── IMessageRegister.cs │ ├── MessageManager.cs │ ├── MessageRegister.cs │ ├── MessageRegisterBase.cs │ ├── ModelBase.cs │ ├── MsgActionInfo.cs │ ├── MsgActionInfoGeneric.cs │ ├── MsgArgs.cs │ ├── MyCommand.cs │ ├── MyCommandGeneric.cs │ ├── MyEventCommand.cs │ ├── MyMVVM.csproj │ ├── NotifyObject.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── StringArgs.cs │ ├── ViewModelBase.cs │ ├── ViewModelInfo.cs │ └── ViewModelManager.cs ├── README.md ├── UWPDDD ├── Dlls │ └── AyxMVVM.dll ├── Domain │ ├── Domain.csproj │ ├── Domain.nuget.props │ ├── Domain.nuget.targets │ ├── Model │ │ ├── ACategory.cs │ │ └── ANote.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Domain.rd.xml │ ├── Repository │ │ ├── Common │ │ │ ├── IACategoryRepository.cs │ │ │ ├── IANoteRepository.cs │ │ │ └── IRepository.cs │ │ ├── Database │ │ │ ├── ACategoryDataRepo.cs │ │ │ └── ANoteDataRepo.cs │ │ ├── Mars │ │ │ ├── ACategoryMarsRepo.cs │ │ │ └── ANoteMarsRepo.cs │ │ ├── Repositories.cs │ │ └── WebService │ │ │ ├── ACategoryWebRepo.cs │ │ │ └── ANoteWebRepo.cs │ └── project.json ├── Infrastructure │ ├── Database │ │ ├── ACategoryData.cs │ │ ├── ANoteData.cs │ │ └── DatabaseInfo.cs │ ├── Infrastructure.csproj │ ├── Infrastructure.nuget.props │ ├── Infrastructure.nuget.targets │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Infrastructure.rd.xml │ └── project.json ├── UWPDDD.sln ├── UWPDDD │ ├── App.xaml │ ├── App.xaml.cs │ ├── ApplicationInsights.config │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Package.appxmanifest │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ ├── View.csproj │ ├── View.nuget.props │ ├── View.nuget.targets │ ├── View │ │ ├── NoteInfoPage.xaml │ │ └── NoteInfoPage.xaml.cs │ └── project.json └── ViewModel │ ├── NoteInfoViewModel.cs │ ├── NoteListViewModel.cs │ ├── Properties │ ├── AssemblyInfo.cs │ └── ViewModel.rd.xml │ ├── ViewModel.csproj │ ├── ViewModel.nuget.props │ ├── ViewModel.nuget.targets │ ├── ViewModelLocator.cs │ └── project.json └── UWPTest ├── Dlls └── AyxMVVM.dll ├── TitleBarTest ├── App.xaml ├── App.xaml.cs ├── Assets │ ├── LockScreenLogo.scale-200.png │ ├── SplashScreen.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── StoreLogo.png │ └── Wide310x150Logo.scale-200.png ├── MainPage.xaml ├── MainPage.xaml.cs ├── Package.appxmanifest ├── Properties │ ├── AssemblyInfo.cs │ └── Default.rd.xml ├── TitleBarTest.csproj └── project.json ├── UWPTest.sln └── xBindTest ├── App.xaml ├── App.xaml.cs ├── Assets ├── LockScreenLogo.scale-200.png ├── SplashScreen.scale-200.png ├── Square150x150Logo.scale-200.png ├── Square44x44Logo.scale-200.png ├── Square44x44Logo.targetsize-24_altform-unplated.png ├── StoreLogo.png └── Wide310x150Logo.scale-200.png ├── MainPage.xaml ├── MainPage.xaml.cs ├── MainPageViewModel.cs ├── Package.appxmanifest ├── Properties ├── AssemblyInfo.cs └── Default.rd.xml ├── project.json └── xBindTest.csproj /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /AsyncTest/AsyncTest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AsyncTest", "AsyncTest\AsyncTest.csproj", "{44449FEC-DFDB-41FA-86C0-FF1EA02A89DD}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConcurrenceTest", "ConcurrenceTest\ConcurrenceTest.csproj", "{4CC3BAC6-8886-4386-B5DA-DB503171D351}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AwaitTest", "AwaitTest\AwaitTest.csproj", "{6192351F-AE96-46C7-B8F1-28DA355CCC2A}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {44449FEC-DFDB-41FA-86C0-FF1EA02A89DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {44449FEC-DFDB-41FA-86C0-FF1EA02A89DD}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {44449FEC-DFDB-41FA-86C0-FF1EA02A89DD}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {44449FEC-DFDB-41FA-86C0-FF1EA02A89DD}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {4CC3BAC6-8886-4386-B5DA-DB503171D351}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {4CC3BAC6-8886-4386-B5DA-DB503171D351}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {4CC3BAC6-8886-4386-B5DA-DB503171D351}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {4CC3BAC6-8886-4386-B5DA-DB503171D351}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {6192351F-AE96-46C7-B8F1-28DA355CCC2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {6192351F-AE96-46C7-B8F1-28DA355CCC2A}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {6192351F-AE96-46C7-B8F1-28DA355CCC2A}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {6192351F-AE96-46C7-B8F1-28DA355CCC2A}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /AsyncTest/AsyncTest/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /AsyncTest/AsyncTest/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /AsyncTest/AsyncTest/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace AsyncTest 10 | { 11 | /// 12 | /// App.xaml 的交互逻辑 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AsyncTest/AsyncTest/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 |