Showing preview only (985K chars total). Download the full file or copy to clipboard to get everything.
Repository: mysteryx93/HanumanInstitute.MvvmDialogs
Branch: master
Commit: 4a548705b722
Files: 589
Total size: 838.2 KB
Directory structure:
gitextract_3wxtmbfy/
├── .editorconfig
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── Directory.Packages.props
├── LICENSE.md
├── MvvmDialogs.sln
├── MvvmDialogs.sln.DotSettings
├── README.md
├── deletebin.sh
├── nuget.config
├── samples/
│ ├── Avalonia/
│ │ ├── CrossPlatform/
│ │ │ ├── .gitignore
│ │ │ ├── Demo.CrossPlatform/
│ │ │ │ ├── App.axaml
│ │ │ │ ├── App.axaml.cs
│ │ │ │ ├── Business/
│ │ │ │ │ ├── StreamExtensions.cs
│ │ │ │ │ └── SynchronousProgress.cs
│ │ │ │ ├── Demo.CrossPlatform.csproj
│ │ │ │ ├── FodyWeavers.xml
│ │ │ │ ├── GlobalUsings.cs
│ │ │ │ ├── Roots.xml
│ │ │ │ ├── Services/
│ │ │ │ │ ├── IStorageService.cs
│ │ │ │ │ └── StorageService.cs
│ │ │ │ ├── ViewLocator.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ ├── ConfirmCloseViewModel.cs
│ │ │ │ │ ├── CurrentTimeViewModel.cs
│ │ │ │ │ ├── MainViewModel.cs
│ │ │ │ │ └── ViewModelBase.cs
│ │ │ │ └── Views/
│ │ │ │ ├── ConfirmCloseView.axaml
│ │ │ │ ├── ConfirmCloseView.axaml.cs
│ │ │ │ ├── ConfirmCloseWindow.axaml
│ │ │ │ ├── ConfirmCloseWindow.axaml.cs
│ │ │ │ ├── CurrentTimeView.axaml
│ │ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ │ ├── CurrentTimeWindow.axaml
│ │ │ │ ├── CurrentTimeWindow.axaml.cs
│ │ │ │ ├── MainView.axaml
│ │ │ │ ├── MainView.axaml.cs
│ │ │ │ ├── MainWindow.axaml
│ │ │ │ └── MainWindow.axaml.cs
│ │ │ ├── Demo.CrossPlatform.Android/
│ │ │ │ ├── Demo.CrossPlatform.Android.csproj
│ │ │ │ ├── MainActivity.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ └── Resources/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── splash_screen.xml
│ │ │ │ └── values/
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ ├── Demo.CrossPlatform.Browser/
│ │ │ │ ├── AppBundle/
│ │ │ │ │ ├── app.css
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── main.js
│ │ │ │ ├── Demo.CrossPlatform.Browser.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ └── launchSettings.json
│ │ │ │ └── runtimeconfig.template.json
│ │ │ ├── Demo.CrossPlatform.Desktop/
│ │ │ │ ├── Demo.CrossPlatform.Desktop.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── app.manifest
│ │ │ ├── Demo.CrossPlatform.iOS/
│ │ │ │ ├── AppDelegate.cs
│ │ │ │ ├── Demo.CrossPlatform.iOS.csproj
│ │ │ │ ├── Entitlements.plist
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Main.cs
│ │ │ │ └── Resources/
│ │ │ │ └── LaunchScreen.xib
│ │ │ └── Demo.CrossPlatform.sln
│ │ ├── Demo.ActivateNonModalDialog.MvvmToolkit/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.ActivateNonModalDialog.MvvmToolkit.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.CloseNonModalDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.CloseNonModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.CustomOpenFolderDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CustomDialogFactory.cs
│ │ │ ├── Demo.CustomOpenFolderDialog.csproj
│ │ │ ├── DialogFactoryExtensions.cs
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.DialogHost/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.DialogHost.csproj
│ │ │ ├── DialogServiceExtensions.cs
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentContentDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.FluentContentDialog.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentMessageBoxContentDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.FluentMessageBoxContentDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentMessageBoxTaskDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.FluentMessageBoxTaskDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentTaskDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.FluentTaskDialog.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.Logging/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.Logging.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.MessageBox/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.MessageBox.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalCustomDialog/
│ │ │ ├── AddTextCustomDialog.cs
│ │ │ ├── AddTextCustomDialogViewModel.cs
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.ModalCustomDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalDialog/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.ModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalDialog.Tests/
│ │ │ ├── Demo.ModalDialog.Tests.csproj
│ │ │ └── MainWindowViewModelTests.cs
│ │ ├── Demo.NonModalCustomDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeCustomDialog.cs
│ │ │ ├── CurrentTimeCustomDialogViewModel.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── Demo.NonModalCustomDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.NonModalDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.NonModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.OpenFileDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.OpenFileDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.OpenFolderDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.OpenFolderDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.SaveFileDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.SaveFileDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.StrongLocator/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.StrongLocator.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ └── Demo.ViewEvents/
│ │ ├── App.axaml
│ │ ├── App.axaml.cs
│ │ ├── Demo.ViewEvents.csproj
│ │ ├── MainWindow.axaml
│ │ ├── MainWindow.axaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── Program.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelBase.cs
│ ├── Directory.Build.props
│ └── Wpf/
│ ├── Demo.ActivateNonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.ActivateNonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.CloseNonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.CloseNonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.CustomOpenFolderDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CustomDialogFactory.cs
│ │ ├── Demo.CustomOpenFolderDialog.csproj
│ │ ├── DialogFactoryExtensions.cs
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.MessageBox/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.MessageBox.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalCustomDialog/
│ │ ├── AddTextCustomDialog.cs
│ │ ├── AddTextCustomDialogViewModel.cs
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ModalCustomDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalDialog/
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── AddTextDialogViewModel.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalDialog.Tests/
│ │ ├── Demo.ModalDialog.Tests.csproj
│ │ └── MainWindowViewModelTests.cs
│ ├── Demo.NonModalCustomDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeCustomDialog.cs
│ │ ├── CurrentTimeCustomDialogViewModel.cs
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── Demo.NonModalCustomDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.NonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.NonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.OpenFileDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.OpenFileDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── OpenMe.txt
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.OpenFolderDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.OpenFolderDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.SaveFileDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.SaveFileDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.StrongLocator/
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── AddTextDialogViewModel.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.StrongLocator.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ViewEvents/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ViewEvents.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ └── TestBaseClasses/
│ ├── Features/
│ │ └── FeatureSteps.cs
│ └── TestBaseClasses.csproj
└── src/
├── Directory.Build.props
├── MvvmDialogs/
│ ├── DialogManagerBase.cs
│ ├── DialogNotFoundException.cs
│ ├── DialogServiceBase.cs
│ ├── DialogServiceExtensions.cs
│ ├── DialogSettingsBase.cs
│ ├── FileSystem/
│ │ ├── DesktopDialogStorageFactory.cs
│ │ ├── DesktopDialogStorageFile.cs
│ │ ├── DesktopDialogStorageFolder.cs
│ │ ├── DesktopDialogStorageItem.cs
│ │ ├── DesktopDialogStorageItemProperties.cs
│ │ ├── IDesktopDialogStorageFactory.cs
│ │ ├── IDialogStorageFile.cs
│ │ ├── IDialogStorageFolder.cs
│ │ └── IDialogStorageItem.cs
│ ├── FrameworkDialogs/
│ │ ├── FileDialogSettings.cs
│ │ ├── FileFilter.cs
│ │ ├── MessageBoxButton.cs
│ │ ├── MessageBoxImage.cs
│ │ ├── MessageBoxSettings.cs
│ │ ├── OpenFileDialogSettings.cs
│ │ ├── OpenFolderDialogSettings.cs
│ │ ├── PickerDialogSettings.cs
│ │ └── SaveFileDialogSettings.cs
│ ├── IActivable.cs
│ ├── ICloseable.cs
│ ├── IDialogFactory.cs
│ ├── IDialogManager.cs
│ ├── IDialogService.cs
│ ├── IModalDialogViewModel.cs
│ ├── IView.cs
│ ├── IViewClosed.cs
│ ├── IViewClosing.cs
│ ├── IViewLoaded.cs
│ ├── IViewLocator.cs
│ ├── MvvmDialogs.csproj
│ ├── MvvmDialogs.csproj.DotSettings
│ ├── Private/
│ │ ├── NullableAttributes.cs
│ │ └── ViewIdGenerator.cs
│ ├── StrongViewLocatorBase.cs
│ ├── Usings.cs
│ ├── ViewBase.cs
│ ├── ViewDefinition.cs
│ └── ViewNotRegisteredException.cs
├── MvvmDialogs.Avalonia/
│ ├── Api/
│ │ ├── FrameworkDialogsApi.cs
│ │ └── IFrameworkDialogsApi.cs
│ ├── DialogFactory.cs
│ ├── DialogFactoryBase.cs
│ ├── DialogManager.cs
│ ├── DialogService.cs
│ ├── FileSystem/
│ │ ├── AvaloniaDialogStorageFile.cs
│ │ ├── AvaloniaDialogStorageFolder.cs
│ │ ├── AvaloniaDialogStorageItem.cs
│ │ └── StorageExtensions.cs
│ ├── IViewLocatorNavigation.cs
│ ├── MvvmDialogs.Avalonia.csproj
│ ├── MvvmDialogs.Avalonia.csproj.DotSettings
│ ├── Navigation/
│ │ ├── CancellableActions.cs
│ │ ├── DialogTask.cs
│ │ ├── INavigationManager.cs
│ │ ├── NavigationManager.cs
│ │ ├── NavigationRoot.axaml
│ │ ├── NavigationRoot.axaml.cs
│ │ ├── NavigationRootWindow.axaml
│ │ ├── NavigationRootWindow.axaml.cs
│ │ ├── ViewCache.cs
│ │ ├── ViewCacheItem.cs
│ │ └── ViewNavigationWrapper.cs
│ ├── Private/
│ │ └── NullableAttributes.cs
│ ├── StrongViewLocator.cs
│ ├── UiExtensions.cs
│ ├── Usings.cs
│ ├── ViewClosingHandler.cs
│ ├── ViewLocatorBase.cs
│ └── ViewWrapper.cs
├── MvvmDialogs.Avalonia.DialogHost/
│ ├── DialogFactoryExtensions.cs
│ ├── DialogHostDialogFactory.cs
│ ├── DialogHostSettings.cs
│ ├── DialogHostView.cs
│ ├── DialogServiceExtensions.cs
│ ├── MvvmDialogs.Avalonia.DialogHost.csproj
│ └── Usings.cs
├── MvvmDialogs.Avalonia.Fluent/
│ ├── ContentDialogSettings.cs
│ ├── DialogFactoryExtensions.cs
│ ├── DialogServiceExtensions.cs
│ ├── FluentApi.cs
│ ├── FluentContentView.cs
│ ├── FluentDialogFactory.cs
│ ├── FluentMessageBoxType.cs
│ ├── FluentTaskView.cs
│ ├── MvvmDialogs.Avalonia.Fluent.csproj
│ ├── TaskDialogSettings.cs
│ └── Usings.cs
├── MvvmDialogs.Avalonia.MessageBox/
│ ├── DialogFactoryExtensions.cs
│ ├── IMessageBoxApi.cs
│ ├── MessageBoxApi.cs
│ ├── MessageBoxApiSettings.cs
│ ├── MessageBoxDialogFactory.cs
│ ├── MessageBoxMode.cs
│ ├── MvvmDialogs.Avalonia.MessageBox.csproj
│ └── Usings.cs
├── MvvmDialogs.Avalonia.Tests/
│ ├── MvvmDialogs.Avalonia.Tests.csproj
│ ├── NavigationTests.cs
│ ├── TestsBase.cs
│ ├── Usings.cs
│ ├── ViewNavigationWrapperTests.cs
│ └── Views/
│ ├── FirstView.axaml
│ ├── FirstView.axaml.cs
│ ├── FirstViewModel.cs
│ ├── FirstWindow.axaml
│ ├── FirstWindow.axaml.cs
│ ├── SecondView.axaml
│ ├── SecondView.axaml.cs
│ ├── SecondViewModel.cs
│ ├── SecondWindow.axaml
│ ├── SecondWindow.axaml.cs
│ ├── ThirdView.axaml
│ ├── ThirdView.axaml.cs
│ ├── ThirdViewModel.cs
│ ├── ThirdWindow.axaml
│ └── ThirdWindow.axaml.cs
├── MvvmDialogs.Wpf/
│ ├── Api/
│ │ ├── FileApiSettings.cs
│ │ ├── FrameworkDialogsApi.cs
│ │ ├── IFrameworkDialogsApi.cs
│ │ ├── MessageBoxApiSettings.cs
│ │ ├── OpenFileApiSettings.cs
│ │ ├── OpenFolderApiSettings.cs
│ │ └── SaveFileApiSettings.cs
│ ├── DialogFactory.cs
│ ├── DialogFactoryBase.cs
│ ├── DialogManager.cs
│ ├── DialogService.cs
│ ├── DialogServiceExtensions.cs
│ ├── GlobalUsings.cs
│ ├── IDialogFactorySync.cs
│ ├── IDialogManagerSync.cs
│ ├── IDialogServiceSync.cs
│ ├── IWindowSync.cs
│ ├── MvvmDialogs.Wpf.csproj
│ ├── Runtime/
│ │ └── NullableAttributes.cs
│ ├── StrongViewLocator.cs
│ ├── UiExtensions.cs
│ ├── ViewLocatorBase.cs
│ ├── ViewWrapper.cs
│ └── Win32Window.cs
├── StrongName.snk
└── public.key
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
dotnet_code_quality.CA1062.null_check_validation_methods = CheckNotNull|CheckNotNullOrEmpty
# Don't use tabs for indentation.
[*]
indent_style = space
# (Please don't specify an indent_size here; that has too many unintended consequences.)
# Code files
[*.{cs,csx,vb,vbx}]
indent_size = 4
insert_final_newline = true
charset = utf-8-bom
# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 2
# XML config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
indent_size = 2
# JSON files
[*.json]
indent_size = 2
# Powershell files
[*.ps1]
indent_size = 2
# Shell script files
[*.sh]
end_of_line = lf
indent_size = 2
# Dotnet code style settings:
[*.{cs,vb}]
# IDE0055: Fix formatting
dotnet_diagnostic.IDE0055.severity = warning
# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false
# Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false:refactoring
dotnet_style_qualification_for_property = false:refactoring
dotnet_style_qualification_for_method = false:refactoring
dotnet_style_qualification_for_event = false:refactoring
# Use language keywords instead of framework type names for type references
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# Suggest more modern language features when available
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
# Non-private static fields are PascalCase
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case
# Non-private readonly fields are PascalCase
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case
# Constants are PascalCase
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style
dotnet_naming_symbols.constants.applicable_kinds = field, local
dotnet_naming_symbols.constants.required_modifiers = const
dotnet_naming_style.constant_style.capitalization = pascal_case
# Static fields are camelCase and start with s_
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style
dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static
dotnet_naming_style.static_field_style.capitalization = camel_case
dotnet_naming_style.static_field_style.required_prefix = s_
# Instance fields are camelCase and start with _
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
dotnet_naming_symbols.instance_fields.applicable_kinds = field
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _
# Locals and parameters are camelCase
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local
dotnet_naming_style.camel_case_style.capitalization = camel_case
# Local functions are PascalCase
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style
dotnet_naming_symbols.local_functions.applicable_kinds = local_function
dotnet_naming_style.local_function_style.capitalization = pascal_case
# By default, name items with PascalCase
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.all_members.applicable_kinds = *
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# error RS2008: Enable analyzer release tracking for the analyzer project containing rule '{0}'
dotnet_diagnostic.RS2008.severity = none
# CSharp code style settings:
[*.cs]
# Newline settings
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
# Prefer "var" everywhere
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = true:suggestion
# Prefer method-like constructs to have a block body
csharp_style_expression_bodied_methods = false:none
csharp_style_expression_bodied_constructors = false:none
csharp_style_expression_bodied_operators = false:none
# Prefer property-like constructs to have an expression-body
csharp_style_expression_bodied_properties = true:none
csharp_style_expression_bodied_indexers = true:none
csharp_style_expression_bodied_accessors = true:none
# Suggest more modern language features when available
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion
# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = do_not_ignore
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
# Blocks are allowed
csharp_prefer_braces = true:silent
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
# warning RS0037: PublicAPI.txt is missing '#nullable enable'
dotnet_diagnostic.RS0037.severity = none
[src/CodeStyle/**.{cs,vb}]
# warning RS0005: Do not use generic CodeAction.Create to create CodeAction
dotnet_diagnostic.RS0005.severity = none
[src/{Analyzers,CodeStyle,Features,Workspaces}/**/*.{cs,vb}]
# IDE0005: Remove unnecessary usings/imports
dotnet_diagnostic.IDE0005.severity = warning
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
# Cache/options directory for Visual Studio, Visual Studio Code and JetBrains Rider
.vs/
.vscode/
.idea/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# ASP.NET 5
project.lock.json
artifacts/
# NuGet Packages
*.nupkg
*.snupkg
**/packages/*
# ReSharper
src/_ReSharper.Caches/
# Cake
build/tools/*
# GhostDoc
*.GhostDoc.xml
================================================
FILE: CHANGELOG.md
================================================
# Change Log
All notable changes to this project will be documented in this file.
## 2.2 - 2026-03-05
- Updated all dependencies
- Now compile for .NET 8, .NET 10 and .NET Standard 2.0
- Enhanced package management in source code
- Updated demo projects to work with updated libraries
## 2.1 - 2023-12-30
This version introduces some breaking changes.
- StrongViewLocator must now have its registrations in its constructor. [See updated documentation.](https://github.com/mysteryx93/HanumanInstitute.MvvmDialogs?tab=readme-ov-file#strongviewlocator). This change was required because 2 separate instances are created: one for `MvvmDialogs` and one for `Avalonia` defined in `App.axaml`.
- Now apply picker `SuggestedStartLocation` and `SuggestedFileName`. The property names and types have been modified.
- Complete overhaul and simplification of `FileSystem` classes. `IPathInfoFactory` and `IBookmarkFileSystem` have been removed. [See new documentation here.](https://github.com/mysteryx93/HanumanInstitute.MvvmDialogs?tab=readme-ov-file#cross-platform-file-access) `DialogStorageFile` got renamed to `DesktopDialogStorageFile` and `DesktopDialogStorageFactory` is available.
Other changes:
- Dialog show calls will now be ignored in design mode to avoid errors
- Updated `CrossPlatform.Browser` to run
- ViewLocatorBase now calls `CreateViewInstance` virtual method instead of `Activator.CreateInstance` for easier customization.
Happy New Year!! May 2024 be the best year in a while
## 2.0 - 2023-06-14
- Updated for Avalonia v11.0.0
- Changed license to MIT
- Removed AppSettings. Design was clumsy, and when it's actually needed, it doesn't work well with the modular design.
- AllowConcurrentDialogs option has been moved to the DialogManager
- Other options (in WPF) have been moved to the DialogFactory
- Avalonia.MessageBox: added an option to display message boxes as windows or popups. Option is available when configuring the DialogFactory: new DialogFactory().AddMessageBox(MessageBoxMode.Popup)
## 2.0-rc1 - 2023-06-10
- ViewModel event handling is now supported for ViewModels shown in DialogHost, FluentContentDialog and FluentTaskDialog
- DialogHost now supports mobile back button
- DialogHost can now display any type of content: ViewModel, Control, or direct content. Renamed ContentViewModel property to Content.
- Avalonia now targets .Net Standard 2.0
- Target Avalonia UI v2.0-rc1.1
## 2.0-preview7 - 2023-03-18
- Automatically set MainWindow in Avalonia when showing the first window
## 2.0-preview6 - 2023-03-06
- Async close confirmation now works properly with mobile navigation
- Added an application setting: AllowConcurrentDialogs. When False (default), it will wait for the previous dialog to close before showing the next one. If you call 3 message boxes at the same time, it will show the message boxes one after the other instead of 3 on top of each other.
- Added support for DialogHost.Avalonia popup views.
- Added support for Aura.UI message boxes for MvvmDialogs v1.4.1 as Aura.UI does not yet support Avalonia11.
## 2.0-preview5 - 2023-03-02
StrongViewLocator to register ViewModel-View combinations in a strongly-typed way to avoid the use of reflection. Useful if you want to use Assembly Trimming! Works for both desktop and mobile and selects the View accordingly.
Sample ViewLocator registration:
```
locator = new StrongViewLocator() { ForceSinglePageNavigation = false }
.Register<MainViewModel, MainView, MainWindow>()
.Register<CurrentTimeViewModel, CurrentTimeView, CurrentTimeWindow>()
.Register<ConfirmCloseViewModel, ConfirmCloseView, ConfirmCloseWindow>();
build.RegisterLazySingleton(() => (IDialogService)new DialogService(
new DialogManager(viewLocator: locator),
viewModelFactory: x => Locator.Current.GetService(x)));
```
It could be done even better. This StaticViewLocatorGenerator (usage here) could be adapted to be more generic and serve for our needs. It would use a Source Generator to generate ViewModel-View mapping at compile-time using naming standards and removing the need for reflection. If someone has experience with Source Generators, contribution is welcomed!
## 2.0-preview4 - 2023-02-22
- Fixed file dialogs filters that were broken
- Removed dependency on Reactive
## 2.0-preview3 - 2023-02-16
It now supports 'magic' mobile navigation on Android and iOS using the exact same API, allowing to convert MVVM desktop apps into mobile with very little efforts. Mobile back navigation is also automatically supported.
Documentation has been updated.
Supporting mobile navigation required extensive internal structural changes which resulted in very little changes to the API.
I believe that these are the only minor breaking changes
- The default ViewLocator now replaces ViewModel with Window on desktop and View on mobile. If you want the old standard of only replacing with View, you can easily create your ViewLocator with a single line to replace ViewModel with View.
- File/folder dialogs now return IDialogStorageFile and IDialogStorageFolder instead of string. To get the same path string you had before (on desktop), simply add .LocalPath.
Known limitations:
- Mobile views are held in a weak cache, and non-visible views should be released from memory when memory is needed. The unit test to ensure this happens does not currently pass. Contribution is welcomed to find the problem.
- Closing async cancellation does not yet work with mobile navigation
## 1.4.1 - 2022-09-03
- Renamed the new ViewLoaded/ViewClosing/ViewClosed methods to OnLoaded/OnClosing/OnClosed. Interface names remain the same.
- Fixed a crash with FluentAvalonia TaskDialog when pressing escape.
- When owner is null, it will now use the main window, or create a dummy window.
## 1.4.0 - 2022-08-29
Handling Loading, Closing and Closed events presents a few annoyances.
Loading is a common business concern. Why would you have to write code in your View for it?
Closing is generally used to display a confirmation before exit. Calling async code from the Closing event would require complex code, both in the ViewModel and the View.
Closed cannot even call a command via an XAML behavior!
As a simple solution, you can implement IViewLoaded, IViewClosing and/or IViewClosed from your ViewModel with no code required in your View.
- IViewLoaded, IViewClosing and IViewClosed interfaces have been added. See documentation.
- Owner parameters are now optional, it's up to the implementation as to whether or not it is supported
- IWindow has been renamed to IView
- Fixed a bug with Fluent TaskMessageBox
## 1.3.1 - 2022-07-01
- File dialog filters can now take extensions with or without the dot
- FluentAvalonia TaskDialog now supports default buttons
- Open/save file framework dialog settings are now more consistent in Avalonia and WPF
## 1.3.0 - 2022-06-16
- Calls will only be dispatched if not already on UI thread
- Redesigned FrameworkDialogFactory to be simpler and more modular
- MessageBox for Avalonia is now split into a separate assembly `HanumanInstitute.MvvmDialogs.Avalonia.MessageBox`, since Avalonia doesn't have built-in support for message boxes
- `MvvmDialogs.Avalonia`, removed reference to MessageBox.Avalonia
- Added preliminary support for FluentAvalonia `HanumanInstitute.MvvmDialogs.Avalonia.Fluent`
TODO:
- Support icons with Fluent MessageBox TaskDialogs
- Support more complex usage of Fluent dialogs
## 1.2.3 - 2022-06-07
- Fixed an issue with thread-safety
## 1.2.2 - 2022-06-07
- DialogManager is now thread-safe, dispatching UI calls to the UI thread
- Added optional `dispatcher` parameter to DialogManager
## 1.2.1 - 2022-05-29
Made the library more friendly for unit tests. One area that caused trouble is the creation of the
dialog view model `new MyDialogViewModel()`. If it has dependencies, you might use `Locator.MyDialogViewModel`,
but then that's not unit-test friendly.
As a solution, you will now create the view model using
`IDialogService.CreateViewModel<T>`.
It will call a ViewModelFactory function set in the DialogService constructor.
- Added `viewModelFactory` parameter to DialogService constructor
- Moved `viewLocator` constructor parameter from DialogService to DialogManager
- Updated all demos to use correct constructor parameters
- Updated all demos to use `IDialogService.CreateViewModel<T>`
- Added unit test sample project: `Demo.ModalDialog.Tests`
## 1.2.0 - 2022-05-28
- Logging is now done using standard `ILogger<DialogService>` interface. See doc
- Revamped the whole logging mechanisms
- All demos now output logs to the Debug window
- Added `IWindow.RefObj`, which can be implemented like this for custom dialogs: `public object RefObj => this;`
- `IDialogManager.ShowFrameworkDialogAsync` now takes an extra optional parameter `resultToString` to convert the result to string for logging. If null, it uses `object.ToString()`.
- Bug fix: `WPF.DialogService.ShowDialog` (sync method) was not working
## 1.1.0 - 2022-05-26
BREAKING CHANGES
- XAML registration is no longer required and must be removed
If your convention is different than simply replacing 'ViewModel' with 'View':
- You must add a ViewLocator to your project (see doc)
- You must pass this ViewLocator to the DialogService constructor
Adopting Avalonia's ViewLocator design greatly simplifies the code and avoids duplicating the design.
- Internally, the following classes have been removed:
`DialogTypeLocatorBase, DialogTypeLocatorCache,
IDialogFactory, NamingConventionDialogTypeLocator, ReflectionDialogFactoryBase, ViewRegistration,
DialogServiceViews, ReflectionDialogFactory`
- Renamed `IDialogTypeLocator` to `IViewLocator`
- Removed namespace `HanumanInstitute.MvvmDialogs.DialogTypeLocators`
`MvvmDialogs.Avalonia` is no longer signed because dependency `ReactiveUI` is not signed.
## 1.0.0 - 2022-05-07
Fork from FantasticFiasco/mvvm-dialogs
### What's new:
- Support for Avalonia and WPF
- The core is now platform-agnostic
### TODO:
- UWP support
- Blazor support
- WinUI support
- Improving tests
================================================
FILE: Directory.Packages.props
================================================
<Project>
<PropertyGroup>
<!-- Enable central package management, https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management -->
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Avalonia" Version="12.0.1" />
<PackageVersion Include="Avalonia.Android" Version="12.0.1" />
<PackageVersion Include="Avalonia.Browser" Version="12.0.1" />
<PackageVersion Include="Avalonia.Desktop" Version="12.0.1" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.14" />
<PackageVersion Include="Avalonia.Fonts.Inter" Version="12.0.1" />
<PackageVersion Include="Avalonia.iOS" Version="12.0.1" />
<PackageVersion Include="Avalonia.Themes.Fluent" Version="12.0.1" />
<PackageVersion Include="ReactiveUI.Avalonia" Version="12.0.1" />
<PackageVersion Include="ReactiveUI" Version="23.2.1" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.2" />
<PackageVersion Include="coverlet.collector" Version="10.0.0" />
<PackageVersion Include="DialogHost.Avalonia" Version="0.12.1" />
<PackageVersion Include="FluentAvaloniaUI" Version="3.0.0-preview1" />
<PackageVersion Include="HanumanInstitute.MvvmDialogs" Version="2.2.0" />
<PackageVersion Include="HanumanInstitute.MvvmDialogs.Avalonia" Version="2.2.0" />
<PackageVersion Include="HanumanInstitute.MvvmDialogs.Avalonia.MessageBox" Version="2.2.0" />
<PackageVersion Include="HanumanInstitute.MvvmDialogs.Wpf" Version="2.2.0" />
<PackageVersion Include="JetBrains.dotMemoryUnit" Version="3.2.20220510" />
<PackageVersion Include="MessageBox.Avalonia" Version="12.0.0" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.6" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.7" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.7" />
<PackageVersion Include="Microsoft.Extensions.Logging.Debug" Version="10.0.7" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.142" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="NUnit" Version="4.5.0" />
<PackageVersion Include="NUnit.Analyzers" Version="4.11.2" />
<PackageVersion Include="NUnit3TestAdapter" Version="6.1.0" />
<PackageVersion Include="Ookii.Dialogs.WinForms" Version="4.0.0" />
<PackageVersion Include="Ookii.Dialogs.Wpf" Version="5.0.1" />
<PackageVersion Include="ReactiveUI.Fody" Version="19.5.41" />
<PackageVersion Include="ReactiveUI.Drawing" Version="23.1.8" />
<PackageVersion Include="ReactiveUI.SourceGenerators" Version="2.6.1" />
<PackageVersion Include="System.Linq.Async" Version="7.0.0" />
<PackageVersion Include="Splat" Version="19.3.1" />
<PackageVersion Include="Splat.DependencyInjection.SourceGenerator" Version="2.2.2" />
<PackageVersion Include="System.Linq.AsyncEnumerable" Version="10.0.7" />
<PackageVersion Include="TestStack.White.ScreenObjects" Version="0.13.3" />
<PackageVersion Include="xunit.v3" Version="3.2.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
<ItemGroup>
<GlobalPackageReference Include="Microsoft.Build.CopyOnWrite" Version="1.0.334" />
</ItemGroup>
</Project>
================================================
FILE: LICENSE.md
================================================
MIT License
Copyright (c) 2018-2022 Etienne Charland
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: MvvmDialogs.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.3.11520.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{958591BB-32C1-48C4-B5FA-11A2C5686814}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{62592C78-61AA-44B4-A7C3-EAC678A568A2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wpf", "Wpf", "{0A8EF671-0277-4F7A-B03D-C6E227020E86}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ActivateNonModalDialog", "samples\Wpf\Demo.ActivateNonModalDialog\Demo.ActivateNonModalDialog.csproj", "{ED5001B1-A78B-4881-9BD8-CB56DD930585}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.MessageBox", "samples\Wpf\Demo.MessageBox\Demo.MessageBox.csproj", "{A6ABFE78-566C-4534-947E-BEFB86BDA347}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalCustomDialog", "samples\Wpf\Demo.ModalCustomDialog\Demo.ModalCustomDialog.csproj", "{AD1F57E0-055A-4838-91AD-B824BF17E481}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalDialog", "samples\Wpf\Demo.ModalDialog\Demo.ModalDialog.csproj", "{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.NonModalCustomDialog", "samples\Wpf\Demo.NonModalCustomDialog\Demo.NonModalCustomDialog.csproj", "{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.NonModalDialog", "samples\Wpf\Demo.NonModalDialog\Demo.NonModalDialog.csproj", "{74041466-C4C6-4396-8B57-D176CF5C0FD9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.OpenFileDialog", "samples\Wpf\Demo.OpenFileDialog\Demo.OpenFileDialog.csproj", "{33BC9402-331E-47B5-8EE8-4F15AF463D12}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.SaveFileDialog", "samples\Wpf\Demo.SaveFileDialog\Demo.SaveFileDialog.csproj", "{62E90DFE-FF71-4558-A33E-361BFE60BF9D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CloseNonModalDialog", "samples\Wpf\Demo.CloseNonModalDialog\Demo.CloseNonModalDialog.csproj", "{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs.Avalonia", "src\MvvmDialogs.Avalonia\MvvmDialogs.Avalonia.csproj", "{0848A1AE-3147-432C-B473-44EE2CBA2E57}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs", "src\MvvmDialogs\MvvmDialogs.csproj", "{E14F830F-2A00-46D0-B25B-B3D675E86B02}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs.Wpf", "src\MvvmDialogs.Wpf\MvvmDialogs.Wpf.csproj", "{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Avalonia", "Avalonia", "{0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CloseNonModalDialog", "samples\Avalonia\Demo.CloseNonModalDialog\Demo.CloseNonModalDialog.csproj", "{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.MessageBox", "samples\Avalonia\Demo.MessageBox\Demo.MessageBox.csproj", "{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalCustomDialog", "samples\Avalonia\Demo.ModalCustomDialog\Demo.ModalCustomDialog.csproj", "{89BFF856-E543-4EB5-B443-78B30D818D57}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalDialog", "samples\Avalonia\Demo.ModalDialog\Demo.ModalDialog.csproj", "{4D578475-512F-43C5-9AF4-F8A8578732CE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.NonModalCustomDialog", "samples\Avalonia\Demo.NonModalCustomDialog\Demo.NonModalCustomDialog.csproj", "{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.NonModalDialog", "samples\Avalonia\Demo.NonModalDialog\Demo.NonModalDialog.csproj", "{1E02BE6D-9F98-4343-930C-588CCB9A1296}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.OpenFileDialog", "samples\Avalonia\Demo.OpenFileDialog\Demo.OpenFileDialog.csproj", "{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.SaveFileDialog", "samples\Avalonia\Demo.SaveFileDialog\Demo.SaveFileDialog.csproj", "{CC35BEDB-96DB-452C-BDDB-3D90169F8313}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.OpenFolderDialog", "samples\Wpf\Demo.OpenFolderDialog\Demo.OpenFolderDialog.csproj", "{27684F10-FC43-4868-80B3-9D1840E4CF54}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CustomOpenFolderDialog", "samples\Wpf\Demo.CustomOpenFolderDialog\Demo.CustomOpenFolderDialog.csproj", "{3562249C-10F4-42C8-BD49-CCF26C51ED8C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.OpenFolderDialog", "samples\Avalonia\Demo.OpenFolderDialog\Demo.OpenFolderDialog.csproj", "{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CustomOpenFolderDialog", "samples\Avalonia\Demo.CustomOpenFolderDialog\Demo.CustomOpenFolderDialog.csproj", "{F01E685B-AC00-44ED-AF05-D96633B1E31A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalDialog.Tests", "samples\Avalonia\Demo.ModalDialog.Tests\Demo.ModalDialog.Tests.csproj", "{20C76953-78BF-493C-BF15-AB67DC620D82}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ModalDialog.Tests", "samples\Wpf\Demo.ModalDialog.Tests\Demo.ModalDialog.Tests.csproj", "{743EA3B7-51AE-4055-AA6B-A0232142F0C6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs.Avalonia.MessageBox", "src\MvvmDialogs.Avalonia.MessageBox\MvvmDialogs.Avalonia.MessageBox.csproj", "{7958C69B-C7A0-4CC4-8340-5C375E7AA722}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs.Avalonia.Fluent", "src\MvvmDialogs.Avalonia.Fluent\MvvmDialogs.Avalonia.Fluent.csproj", "{532FD258-141B-4FF9-8846-CD8396728E27}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.FluentContentDialog", "samples\Avalonia\Demo.FluentContentDialog\Demo.FluentContentDialog.csproj", "{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.FluentTaskDialog", "samples\Avalonia\Demo.FluentTaskDialog\Demo.FluentTaskDialog.csproj", "{23550E77-920B-47A2-AE2C-36204BFA9469}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.FluentMessageBoxContentDialog", "samples\Avalonia\Demo.FluentMessageBoxContentDialog\Demo.FluentMessageBoxContentDialog.csproj", "{339BEC27-FD38-494E-9D96-7A43DE9B36B4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.FluentMessageBoxTaskDialog", "samples\Avalonia\Demo.FluentMessageBoxTaskDialog\Demo.FluentMessageBoxTaskDialog.csproj", "{30F209A6-028C-4AF4-A34D-D32B6C0D3572}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ViewEvents", "samples\Avalonia\Demo.ViewEvents\Demo.ViewEvents.csproj", "{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.ViewEvents", "samples\Wpf\Demo.ViewEvents\Demo.ViewEvents.csproj", "{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CrossPlatform", "CrossPlatform", "{B90D3DCC-669D-4583-8BA0-682EB1F93BD2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmDialogs.Avalonia.Tests", "src\MvvmDialogs.Avalonia.Tests\MvvmDialogs.Avalonia.Tests.csproj", "{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CrossPlatform", "samples\Avalonia\CrossPlatform\Demo.CrossPlatform\Demo.CrossPlatform.csproj", "{24D92E73-9429-48AD-A805-25CE7AF84D50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CrossPlatform.Android", "samples\Avalonia\CrossPlatform\Demo.CrossPlatform.Android\Demo.CrossPlatform.Android.csproj", "{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CrossPlatform.iOS", "samples\Avalonia\CrossPlatform\Demo.CrossPlatform.iOS\Demo.CrossPlatform.iOS.csproj", "{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CrossPlatform.Desktop", "samples\Avalonia\CrossPlatform\Demo.CrossPlatform.Desktop\Demo.CrossPlatform.Desktop.csproj", "{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.CrossPlatform.Browser", "samples\Avalonia\CrossPlatform\Demo.CrossPlatform.Browser\Demo.CrossPlatform.Browser.csproj", "{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.StrongLocator", "samples\Avalonia\Demo.StrongLocator\Demo.StrongLocator.csproj", "{F03BD8DB-9247-4977-A4AB-C98FE071294A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.StrongLocator", "samples\Wpf\Demo.StrongLocator\Demo.StrongLocator.csproj", "{3D577143-DEEA-42A4-B261-9A0846E537EF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MvvmDialogs.Avalonia.DialogHost", "src\MvvmDialogs.Avalonia.DialogHost\MvvmDialogs.Avalonia.DialogHost.csproj", "{C9971FF8-3695-457F-8A78-CBDD098617D7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.DialogHost", "samples\Avalonia\Demo.DialogHost\Demo.DialogHost.csproj", "{86D96E8C-F62A-4563-AFEF-1907F9280D7D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DBF0AD8E-617C-43D4-86C7-C81F825D656C}"
ProjectSection(SolutionItems) = preProject
src\Directory.Build.props = src\Directory.Build.props
Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.ActivateNonModalDialog.MvvmToolkit", "samples\Avalonia\Demo.ActivateNonModalDialog.MvvmToolkit\Demo.ActivateNonModalDialog.MvvmToolkit.csproj", "{84D06F7E-6381-7653-27C1-4FF4A0232C92}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|ARM.ActiveCfg = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|ARM.Build.0 = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|ARM64.Build.0 = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|x64.ActiveCfg = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|x64.Build.0 = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|x86.ActiveCfg = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Debug|x86.Build.0 = Debug|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|Any CPU.Build.0 = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|ARM.ActiveCfg = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|ARM.Build.0 = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|ARM64.ActiveCfg = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|ARM64.Build.0 = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|x64.ActiveCfg = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|x64.Build.0 = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|x86.ActiveCfg = Release|Any CPU
{ED5001B1-A78B-4881-9BD8-CB56DD930585}.Release|x86.Build.0 = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|ARM.Build.0 = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|ARM64.Build.0 = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|x64.ActiveCfg = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|x64.Build.0 = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|x86.ActiveCfg = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Debug|x86.Build.0 = Debug|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|Any CPU.Build.0 = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|ARM.ActiveCfg = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|ARM.Build.0 = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|ARM64.ActiveCfg = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|ARM64.Build.0 = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|x64.ActiveCfg = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|x64.Build.0 = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|x86.ActiveCfg = Release|Any CPU
{A6ABFE78-566C-4534-947E-BEFB86BDA347}.Release|x86.Build.0 = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|ARM.ActiveCfg = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|ARM.Build.0 = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|ARM64.Build.0 = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|x64.ActiveCfg = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|x64.Build.0 = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|x86.ActiveCfg = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Debug|x86.Build.0 = Debug|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|Any CPU.Build.0 = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|ARM.ActiveCfg = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|ARM.Build.0 = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|ARM64.ActiveCfg = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|ARM64.Build.0 = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|x64.ActiveCfg = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|x64.Build.0 = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|x86.ActiveCfg = Release|Any CPU
{AD1F57E0-055A-4838-91AD-B824BF17E481}.Release|x86.Build.0 = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|ARM.Build.0 = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|ARM64.Build.0 = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|x64.ActiveCfg = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|x64.Build.0 = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|x86.ActiveCfg = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Debug|x86.Build.0 = Debug|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|Any CPU.Build.0 = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|ARM.ActiveCfg = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|ARM.Build.0 = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|ARM64.ActiveCfg = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|ARM64.Build.0 = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|x64.ActiveCfg = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|x64.Build.0 = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|x86.ActiveCfg = Release|Any CPU
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978}.Release|x86.Build.0 = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|ARM.Build.0 = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|ARM64.Build.0 = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|x64.ActiveCfg = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|x64.Build.0 = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|x86.ActiveCfg = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Debug|x86.Build.0 = Debug|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|Any CPU.Build.0 = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|ARM.ActiveCfg = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|ARM.Build.0 = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|ARM64.ActiveCfg = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|ARM64.Build.0 = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|x64.ActiveCfg = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|x64.Build.0 = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|x86.ActiveCfg = Release|Any CPU
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9}.Release|x86.Build.0 = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|ARM.Build.0 = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|ARM64.Build.0 = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|x64.ActiveCfg = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|x64.Build.0 = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|x86.ActiveCfg = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Debug|x86.Build.0 = Debug|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|Any CPU.Build.0 = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|ARM.ActiveCfg = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|ARM.Build.0 = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|ARM64.ActiveCfg = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|ARM64.Build.0 = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|x64.ActiveCfg = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|x64.Build.0 = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|x86.ActiveCfg = Release|Any CPU
{74041466-C4C6-4396-8B57-D176CF5C0FD9}.Release|x86.Build.0 = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|ARM.ActiveCfg = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|ARM.Build.0 = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|ARM64.Build.0 = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|x64.ActiveCfg = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|x64.Build.0 = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|x86.ActiveCfg = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Debug|x86.Build.0 = Debug|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|Any CPU.Build.0 = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|ARM.ActiveCfg = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|ARM.Build.0 = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|ARM64.ActiveCfg = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|ARM64.Build.0 = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|x64.ActiveCfg = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|x64.Build.0 = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|x86.ActiveCfg = Release|Any CPU
{33BC9402-331E-47B5-8EE8-4F15AF463D12}.Release|x86.Build.0 = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|ARM.ActiveCfg = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|ARM.Build.0 = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|ARM64.Build.0 = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|x64.ActiveCfg = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|x64.Build.0 = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|x86.ActiveCfg = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Debug|x86.Build.0 = Debug|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|Any CPU.Build.0 = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|ARM.ActiveCfg = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|ARM.Build.0 = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|ARM64.ActiveCfg = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|ARM64.Build.0 = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|x64.ActiveCfg = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|x64.Build.0 = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|x86.ActiveCfg = Release|Any CPU
{62E90DFE-FF71-4558-A33E-361BFE60BF9D}.Release|x86.Build.0 = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|ARM.Build.0 = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|ARM64.Build.0 = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|x64.ActiveCfg = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|x64.Build.0 = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|x86.ActiveCfg = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Debug|x86.Build.0 = Debug|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|Any CPU.Build.0 = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|ARM.ActiveCfg = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|ARM.Build.0 = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|ARM64.ActiveCfg = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|ARM64.Build.0 = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|x64.ActiveCfg = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|x64.Build.0 = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|x86.ActiveCfg = Release|Any CPU
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B}.Release|x86.Build.0 = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|ARM.ActiveCfg = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|ARM.Build.0 = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|ARM64.Build.0 = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|x64.ActiveCfg = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|x64.Build.0 = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|x86.ActiveCfg = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Debug|x86.Build.0 = Debug|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|Any CPU.Build.0 = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|ARM.ActiveCfg = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|ARM.Build.0 = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|ARM64.ActiveCfg = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|ARM64.Build.0 = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|x64.ActiveCfg = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|x64.Build.0 = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|x86.ActiveCfg = Release|Any CPU
{0848A1AE-3147-432C-B473-44EE2CBA2E57}.Release|x86.Build.0 = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|ARM.Build.0 = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|ARM64.Build.0 = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|x64.ActiveCfg = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|x64.Build.0 = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|x86.ActiveCfg = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Debug|x86.Build.0 = Debug|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|Any CPU.Build.0 = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|ARM.ActiveCfg = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|ARM.Build.0 = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|ARM64.ActiveCfg = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|ARM64.Build.0 = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|x64.ActiveCfg = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|x64.Build.0 = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|x86.ActiveCfg = Release|Any CPU
{E14F830F-2A00-46D0-B25B-B3D675E86B02}.Release|x86.Build.0 = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|ARM.Build.0 = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|ARM64.Build.0 = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|x64.ActiveCfg = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|x64.Build.0 = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|x86.ActiveCfg = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Debug|x86.Build.0 = Debug|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|Any CPU.Build.0 = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|ARM.ActiveCfg = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|ARM.Build.0 = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|ARM64.ActiveCfg = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|ARM64.Build.0 = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|x64.ActiveCfg = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|x64.Build.0 = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|x86.ActiveCfg = Release|Any CPU
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0}.Release|x86.Build.0 = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|ARM.ActiveCfg = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|ARM.Build.0 = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|ARM64.Build.0 = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|x64.ActiveCfg = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|x64.Build.0 = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|x86.ActiveCfg = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Debug|x86.Build.0 = Debug|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|Any CPU.Build.0 = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|ARM.ActiveCfg = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|ARM.Build.0 = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|ARM64.ActiveCfg = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|ARM64.Build.0 = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|x64.ActiveCfg = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|x64.Build.0 = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|x86.ActiveCfg = Release|Any CPU
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3}.Release|x86.Build.0 = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|ARM.ActiveCfg = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|ARM.Build.0 = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|ARM64.Build.0 = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|x64.ActiveCfg = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|x64.Build.0 = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|x86.ActiveCfg = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Debug|x86.Build.0 = Debug|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|Any CPU.Build.0 = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|ARM.ActiveCfg = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|ARM.Build.0 = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|ARM64.ActiveCfg = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|ARM64.Build.0 = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|x64.ActiveCfg = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|x64.Build.0 = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|x86.ActiveCfg = Release|Any CPU
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022}.Release|x86.Build.0 = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|ARM.ActiveCfg = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|ARM.Build.0 = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|ARM64.Build.0 = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|x64.ActiveCfg = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|x64.Build.0 = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|x86.ActiveCfg = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Debug|x86.Build.0 = Debug|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|Any CPU.ActiveCfg = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|Any CPU.Build.0 = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|ARM.ActiveCfg = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|ARM.Build.0 = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|ARM64.ActiveCfg = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|ARM64.Build.0 = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|x64.ActiveCfg = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|x64.Build.0 = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|x86.ActiveCfg = Release|Any CPU
{89BFF856-E543-4EB5-B443-78B30D818D57}.Release|x86.Build.0 = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|ARM.Build.0 = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|ARM64.Build.0 = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|x64.ActiveCfg = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|x64.Build.0 = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|x86.ActiveCfg = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Debug|x86.Build.0 = Debug|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|Any CPU.Build.0 = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|ARM.ActiveCfg = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|ARM.Build.0 = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|ARM64.ActiveCfg = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|ARM64.Build.0 = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|x64.ActiveCfg = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|x64.Build.0 = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|x86.ActiveCfg = Release|Any CPU
{4D578475-512F-43C5-9AF4-F8A8578732CE}.Release|x86.Build.0 = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|ARM.ActiveCfg = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|ARM.Build.0 = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|ARM64.Build.0 = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|x64.ActiveCfg = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|x64.Build.0 = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|x86.ActiveCfg = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Debug|x86.Build.0 = Debug|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|Any CPU.Build.0 = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|ARM.ActiveCfg = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|ARM.Build.0 = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|ARM64.ActiveCfg = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|ARM64.Build.0 = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|x64.ActiveCfg = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|x64.Build.0 = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|x86.ActiveCfg = Release|Any CPU
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C}.Release|x86.Build.0 = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|ARM.ActiveCfg = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|ARM.Build.0 = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|ARM64.Build.0 = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|x64.ActiveCfg = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|x64.Build.0 = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|x86.ActiveCfg = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Debug|x86.Build.0 = Debug|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|Any CPU.Build.0 = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|ARM.ActiveCfg = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|ARM.Build.0 = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|ARM64.ActiveCfg = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|ARM64.Build.0 = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|x64.ActiveCfg = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|x64.Build.0 = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|x86.ActiveCfg = Release|Any CPU
{1E02BE6D-9F98-4343-930C-588CCB9A1296}.Release|x86.Build.0 = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|ARM.Build.0 = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|ARM64.Build.0 = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|x64.ActiveCfg = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|x64.Build.0 = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|x86.ActiveCfg = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Debug|x86.Build.0 = Debug|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|Any CPU.Build.0 = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|ARM.ActiveCfg = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|ARM.Build.0 = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|ARM64.ActiveCfg = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|ARM64.Build.0 = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|x64.ActiveCfg = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|x64.Build.0 = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|x86.ActiveCfg = Release|Any CPU
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E}.Release|x86.Build.0 = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|ARM.Build.0 = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|ARM64.Build.0 = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|x64.ActiveCfg = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|x64.Build.0 = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|x86.ActiveCfg = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Debug|x86.Build.0 = Debug|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|Any CPU.Build.0 = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|ARM.ActiveCfg = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|ARM.Build.0 = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|ARM64.ActiveCfg = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|ARM64.Build.0 = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|x64.ActiveCfg = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|x64.Build.0 = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|x86.ActiveCfg = Release|Any CPU
{CC35BEDB-96DB-452C-BDDB-3D90169F8313}.Release|x86.Build.0 = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|ARM.ActiveCfg = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|ARM.Build.0 = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|ARM64.Build.0 = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|x64.ActiveCfg = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|x64.Build.0 = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|x86.ActiveCfg = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Debug|x86.Build.0 = Debug|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|Any CPU.Build.0 = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|ARM.ActiveCfg = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|ARM.Build.0 = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|ARM64.ActiveCfg = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|ARM64.Build.0 = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|x64.ActiveCfg = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|x64.Build.0 = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|x86.ActiveCfg = Release|Any CPU
{27684F10-FC43-4868-80B3-9D1840E4CF54}.Release|x86.Build.0 = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|ARM.ActiveCfg = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|ARM.Build.0 = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|ARM64.Build.0 = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|x64.ActiveCfg = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|x64.Build.0 = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|x86.ActiveCfg = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Debug|x86.Build.0 = Debug|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|Any CPU.Build.0 = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|ARM.ActiveCfg = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|ARM.Build.0 = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|ARM64.ActiveCfg = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|ARM64.Build.0 = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|x64.ActiveCfg = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|x64.Build.0 = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|x86.ActiveCfg = Release|Any CPU
{3562249C-10F4-42C8-BD49-CCF26C51ED8C}.Release|x86.Build.0 = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|ARM.ActiveCfg = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|ARM.Build.0 = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|ARM64.Build.0 = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|x64.ActiveCfg = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|x64.Build.0 = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|x86.ActiveCfg = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Debug|x86.Build.0 = Debug|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|Any CPU.Build.0 = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|ARM.ActiveCfg = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|ARM.Build.0 = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|ARM64.ActiveCfg = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|ARM64.Build.0 = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|x64.ActiveCfg = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|x64.Build.0 = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|x86.ActiveCfg = Release|Any CPU
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A}.Release|x86.Build.0 = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|ARM.Build.0 = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|ARM64.Build.0 = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|x64.ActiveCfg = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|x64.Build.0 = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|x86.ActiveCfg = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Debug|x86.Build.0 = Debug|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|Any CPU.Build.0 = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|ARM.ActiveCfg = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|ARM.Build.0 = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|ARM64.ActiveCfg = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|ARM64.Build.0 = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|x64.ActiveCfg = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|x64.Build.0 = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|x86.ActiveCfg = Release|Any CPU
{F01E685B-AC00-44ED-AF05-D96633B1E31A}.Release|x86.Build.0 = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|ARM.ActiveCfg = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|ARM.Build.0 = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|ARM64.Build.0 = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|x64.ActiveCfg = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|x64.Build.0 = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|x86.ActiveCfg = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Debug|x86.Build.0 = Debug|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|Any CPU.Build.0 = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|ARM.ActiveCfg = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|ARM.Build.0 = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|ARM64.ActiveCfg = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|ARM64.Build.0 = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|x64.ActiveCfg = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|x64.Build.0 = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|x86.ActiveCfg = Release|Any CPU
{20C76953-78BF-493C-BF15-AB67DC620D82}.Release|x86.Build.0 = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|ARM.Build.0 = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|ARM64.Build.0 = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|x64.ActiveCfg = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|x64.Build.0 = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|x86.ActiveCfg = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Debug|x86.Build.0 = Debug|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|Any CPU.Build.0 = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|ARM.ActiveCfg = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|ARM.Build.0 = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|ARM64.ActiveCfg = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|ARM64.Build.0 = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|x64.ActiveCfg = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|x64.Build.0 = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|x86.ActiveCfg = Release|Any CPU
{743EA3B7-51AE-4055-AA6B-A0232142F0C6}.Release|x86.Build.0 = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|ARM.Build.0 = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|ARM64.Build.0 = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|x64.ActiveCfg = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|x64.Build.0 = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|x86.ActiveCfg = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Debug|x86.Build.0 = Debug|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|Any CPU.Build.0 = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|ARM.ActiveCfg = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|ARM.Build.0 = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|ARM64.ActiveCfg = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|ARM64.Build.0 = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|x64.ActiveCfg = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|x64.Build.0 = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|x86.ActiveCfg = Release|Any CPU
{7958C69B-C7A0-4CC4-8340-5C375E7AA722}.Release|x86.Build.0 = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|Any CPU.Build.0 = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|ARM.ActiveCfg = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|ARM.Build.0 = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|ARM64.Build.0 = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|x64.ActiveCfg = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|x64.Build.0 = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|x86.ActiveCfg = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Debug|x86.Build.0 = Debug|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|Any CPU.ActiveCfg = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|Any CPU.Build.0 = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|ARM.ActiveCfg = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|ARM.Build.0 = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|ARM64.ActiveCfg = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|ARM64.Build.0 = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|x64.ActiveCfg = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|x64.Build.0 = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|x86.ActiveCfg = Release|Any CPU
{532FD258-141B-4FF9-8846-CD8396728E27}.Release|x86.Build.0 = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|ARM.Build.0 = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|ARM64.Build.0 = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|x64.ActiveCfg = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|x64.Build.0 = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|x86.ActiveCfg = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Debug|x86.Build.0 = Debug|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|Any CPU.Build.0 = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|ARM.ActiveCfg = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|ARM.Build.0 = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|ARM64.ActiveCfg = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|ARM64.Build.0 = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|x64.ActiveCfg = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|x64.Build.0 = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|x86.ActiveCfg = Release|Any CPU
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE}.Release|x86.Build.0 = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|Any CPU.Build.0 = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|ARM.ActiveCfg = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|ARM.Build.0 = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|ARM64.Build.0 = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|x64.ActiveCfg = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|x64.Build.0 = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|x86.ActiveCfg = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Debug|x86.Build.0 = Debug|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|Any CPU.ActiveCfg = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|Any CPU.Build.0 = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|ARM.ActiveCfg = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|ARM.Build.0 = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|ARM64.ActiveCfg = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|ARM64.Build.0 = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|x64.ActiveCfg = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|x64.Build.0 = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|x86.ActiveCfg = Release|Any CPU
{23550E77-920B-47A2-AE2C-36204BFA9469}.Release|x86.Build.0 = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|ARM.ActiveCfg = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|ARM.Build.0 = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|ARM64.Build.0 = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|x64.ActiveCfg = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|x64.Build.0 = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|x86.ActiveCfg = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Debug|x86.Build.0 = Debug|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|Any CPU.Build.0 = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|ARM.ActiveCfg = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|ARM.Build.0 = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|ARM64.ActiveCfg = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|ARM64.Build.0 = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|x64.ActiveCfg = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|x64.Build.0 = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|x86.ActiveCfg = Release|Any CPU
{339BEC27-FD38-494E-9D96-7A43DE9B36B4}.Release|x86.Build.0 = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|ARM.ActiveCfg = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|ARM.Build.0 = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|ARM64.Build.0 = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|x64.ActiveCfg = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|x64.Build.0 = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|x86.ActiveCfg = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Debug|x86.Build.0 = Debug|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|Any CPU.ActiveCfg = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|Any CPU.Build.0 = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|ARM.ActiveCfg = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|ARM.Build.0 = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|ARM64.ActiveCfg = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|ARM64.Build.0 = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|x64.ActiveCfg = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|x64.Build.0 = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|x86.ActiveCfg = Release|Any CPU
{30F209A6-028C-4AF4-A34D-D32B6C0D3572}.Release|x86.Build.0 = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|ARM.ActiveCfg = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|ARM.Build.0 = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|ARM64.Build.0 = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|x64.ActiveCfg = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|x64.Build.0 = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|x86.ActiveCfg = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Debug|x86.Build.0 = Debug|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|Any CPU.Build.0 = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|ARM.ActiveCfg = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|ARM.Build.0 = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|ARM64.ActiveCfg = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|ARM64.Build.0 = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|x64.ActiveCfg = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|x64.Build.0 = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|x86.ActiveCfg = Release|Any CPU
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7}.Release|x86.Build.0 = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|ARM.Build.0 = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|ARM64.Build.0 = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|x64.ActiveCfg = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|x64.Build.0 = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|x86.ActiveCfg = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Debug|x86.Build.0 = Debug|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|Any CPU.Build.0 = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|ARM.ActiveCfg = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|ARM.Build.0 = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|ARM64.ActiveCfg = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|ARM64.Build.0 = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|x64.ActiveCfg = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|x64.Build.0 = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|x86.ActiveCfg = Release|Any CPU
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5}.Release|x86.Build.0 = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|ARM.Build.0 = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|ARM64.Build.0 = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|x64.ActiveCfg = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|x64.Build.0 = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|x86.ActiveCfg = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Debug|x86.Build.0 = Debug|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|Any CPU.Build.0 = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|ARM.ActiveCfg = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|ARM.Build.0 = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|ARM64.ActiveCfg = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|ARM64.Build.0 = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|x64.ActiveCfg = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|x64.Build.0 = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|x86.ActiveCfg = Release|Any CPU
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE}.Release|x86.Build.0 = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|ARM.ActiveCfg = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|ARM.Build.0 = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|ARM64.Build.0 = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|x64.ActiveCfg = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|x64.Build.0 = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|x86.ActiveCfg = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Debug|x86.Build.0 = Debug|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|Any CPU.Build.0 = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|ARM.ActiveCfg = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|ARM.Build.0 = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|ARM64.ActiveCfg = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|ARM64.Build.0 = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|x64.ActiveCfg = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|x64.Build.0 = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|x86.ActiveCfg = Release|Any CPU
{24D92E73-9429-48AD-A805-25CE7AF84D50}.Release|x86.Build.0 = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|ARM.Build.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|ARM64.Build.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|x64.ActiveCfg = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|x64.Build.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|x86.ActiveCfg = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Debug|x86.Build.0 = Debug|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|Any CPU.Build.0 = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|ARM.ActiveCfg = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|ARM.Build.0 = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|ARM64.ActiveCfg = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|ARM64.Build.0 = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|x64.ActiveCfg = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|x64.Build.0 = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|x86.ActiveCfg = Release|Any CPU
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0}.Release|x86.Build.0 = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|ARM.Build.0 = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|ARM64.Build.0 = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|x64.ActiveCfg = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|x64.Build.0 = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|x86.ActiveCfg = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Debug|x86.Build.0 = Debug|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|Any CPU.Build.0 = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|ARM.ActiveCfg = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|ARM.Build.0 = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|ARM64.ActiveCfg = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|ARM64.Build.0 = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|x64.ActiveCfg = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|x64.Build.0 = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|x86.ActiveCfg = Release|Any CPU
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5}.Release|x86.Build.0 = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|ARM.Build.0 = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|ARM64.Build.0 = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|x64.ActiveCfg = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|x64.Build.0 = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|x86.ActiveCfg = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Debug|x86.Build.0 = Debug|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|Any CPU.Build.0 = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|ARM.ActiveCfg = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|ARM.Build.0 = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|ARM64.ActiveCfg = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|ARM64.Build.0 = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|x64.ActiveCfg = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|x64.Build.0 = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|x86.ActiveCfg = Release|Any CPU
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B}.Release|x86.Build.0 = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|ARM.Build.0 = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|ARM64.Build.0 = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|x64.ActiveCfg = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|x64.Build.0 = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|x86.ActiveCfg = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Debug|x86.Build.0 = Debug|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|Any CPU.Build.0 = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|ARM.ActiveCfg = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|ARM.Build.0 = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|ARM64.ActiveCfg = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|ARM64.Build.0 = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|x64.ActiveCfg = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|x64.Build.0 = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|x86.ActiveCfg = Release|Any CPU
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26}.Release|x86.Build.0 = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|ARM.Build.0 = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|ARM64.Build.0 = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|x64.ActiveCfg = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|x64.Build.0 = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|x86.ActiveCfg = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Debug|x86.Build.0 = Debug|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|Any CPU.Build.0 = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|ARM.ActiveCfg = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|ARM.Build.0 = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|ARM64.ActiveCfg = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|ARM64.Build.0 = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|x64.ActiveCfg = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|x64.Build.0 = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|x86.ActiveCfg = Release|Any CPU
{F03BD8DB-9247-4977-A4AB-C98FE071294A}.Release|x86.Build.0 = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|ARM.ActiveCfg = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|ARM.Build.0 = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|ARM64.Build.0 = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|x64.ActiveCfg = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|x64.Build.0 = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|x86.ActiveCfg = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Debug|x86.Build.0 = Debug|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|Any CPU.Build.0 = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|ARM.ActiveCfg = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|ARM.Build.0 = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|ARM64.ActiveCfg = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|ARM64.Build.0 = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|x64.ActiveCfg = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|x64.Build.0 = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|x86.ActiveCfg = Release|Any CPU
{3D577143-DEEA-42A4-B261-9A0846E537EF}.Release|x86.Build.0 = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|ARM.ActiveCfg = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|ARM.Build.0 = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|ARM64.Build.0 = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|x64.ActiveCfg = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|x64.Build.0 = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|x86.ActiveCfg = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Debug|x86.Build.0 = Debug|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|Any CPU.Build.0 = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|ARM.ActiveCfg = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|ARM.Build.0 = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|ARM64.ActiveCfg = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|ARM64.Build.0 = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|x64.ActiveCfg = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|x64.Build.0 = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|x86.ActiveCfg = Release|Any CPU
{C9971FF8-3695-457F-8A78-CBDD098617D7}.Release|x86.Build.0 = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|ARM.ActiveCfg = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|ARM.Build.0 = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|ARM64.Build.0 = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|x64.ActiveCfg = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|x64.Build.0 = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|x86.ActiveCfg = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Debug|x86.Build.0 = Debug|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|Any CPU.Build.0 = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|ARM.ActiveCfg = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|ARM.Build.0 = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|ARM64.ActiveCfg = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|ARM64.Build.0 = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|x64.ActiveCfg = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|x64.Build.0 = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|x86.ActiveCfg = Release|Any CPU
{86D96E8C-F62A-4563-AFEF-1907F9280D7D}.Release|x86.Build.0 = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|ARM.ActiveCfg = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|ARM.Build.0 = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|ARM64.Build.0 = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|x64.ActiveCfg = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|x64.Build.0 = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|x86.ActiveCfg = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Debug|x86.Build.0 = Debug|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|Any CPU.Build.0 = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|ARM.ActiveCfg = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|ARM.Build.0 = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|ARM64.ActiveCfg = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|ARM64.Build.0 = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|x64.ActiveCfg = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|x64.Build.0 = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|x86.ActiveCfg = Release|Any CPU
{84D06F7E-6381-7653-27C1-4FF4A0232C92}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{0A8EF671-0277-4F7A-B03D-C6E227020E86} = {62592C78-61AA-44B4-A7C3-EAC678A568A2}
{ED5001B1-A78B-4881-9BD8-CB56DD930585} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{A6ABFE78-566C-4534-947E-BEFB86BDA347} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{AD1F57E0-055A-4838-91AD-B824BF17E481} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{F2CAA958-5A0E-4BB3-B624-B8360C5F2978} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{DD760082-E0FA-433F-A1D0-D05F5D91FFA9} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{74041466-C4C6-4396-8B57-D176CF5C0FD9} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{33BC9402-331E-47B5-8EE8-4F15AF463D12} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{62E90DFE-FF71-4558-A33E-361BFE60BF9D} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{CABB5675-02EF-42A7-A2C9-E4F37D66D12B} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{0848A1AE-3147-432C-B473-44EE2CBA2E57} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{E14F830F-2A00-46D0-B25B-B3D675E86B02} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{32D9C89C-9D88-40F9-A05D-CD95F05F38D0} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{0CAFC532-721B-4CD0-B4CA-AF10F07BFD76} = {62592C78-61AA-44B4-A7C3-EAC678A568A2}
{26E80F33-67D7-4F29-87E4-DFA45FBCF6B3} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{ADB64CA1-52F9-47B9-AC03-975D2C9E4022} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{89BFF856-E543-4EB5-B443-78B30D818D57} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{4D578475-512F-43C5-9AF4-F8A8578732CE} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{61F454B7-9F32-4CBA-8FE5-02B44D5CF25C} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{1E02BE6D-9F98-4343-930C-588CCB9A1296} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{3D4F7533-B6B3-4F96-8794-F80A96EAB34E} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{CC35BEDB-96DB-452C-BDDB-3D90169F8313} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{27684F10-FC43-4868-80B3-9D1840E4CF54} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{3562249C-10F4-42C8-BD49-CCF26C51ED8C} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{2EBBA423-F963-4CF4-9355-A5B2CE7C699A} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{F01E685B-AC00-44ED-AF05-D96633B1E31A} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{20C76953-78BF-493C-BF15-AB67DC620D82} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{743EA3B7-51AE-4055-AA6B-A0232142F0C6} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{7958C69B-C7A0-4CC4-8340-5C375E7AA722} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{532FD258-141B-4FF9-8846-CD8396728E27} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{3B8A071F-EAE4-427F-9CF5-09BFA4F856FE} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{23550E77-920B-47A2-AE2C-36204BFA9469} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{339BEC27-FD38-494E-9D96-7A43DE9B36B4} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{30F209A6-028C-4AF4-A34D-D32B6C0D3572} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{BA8764EF-2FA6-43C8-8FAA-ABBA8CFA1CD7} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{1FA1B0CC-DC5D-4327-B7B9-FEC7C12F88D5} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{B90D3DCC-669D-4583-8BA0-682EB1F93BD2} = {62592C78-61AA-44B4-A7C3-EAC678A568A2}
{AD2BE2F7-5D94-4E1C-AA4F-5F69B160B4CE} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{24D92E73-9429-48AD-A805-25CE7AF84D50} = {B90D3DCC-669D-4583-8BA0-682EB1F93BD2}
{497C1B3B-3326-45DB-BC0B-76C3EDAA26E0} = {B90D3DCC-669D-4583-8BA0-682EB1F93BD2}
{08A1F54A-676B-4A9A-BE41-9BE1A21EC2C5} = {B90D3DCC-669D-4583-8BA0-682EB1F93BD2}
{DB400AC5-91AB-4621-9E12-6EF27BFE9D2B} = {B90D3DCC-669D-4583-8BA0-682EB1F93BD2}
{A8ADB3BE-683C-44FD-9C59-53F5B6B60A26} = {B90D3DCC-669D-4583-8BA0-682EB1F93BD2}
{F03BD8DB-9247-4977-A4AB-C98FE071294A} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{3D577143-DEEA-42A4-B261-9A0846E537EF} = {0A8EF671-0277-4F7A-B03D-C6E227020E86}
{C9971FF8-3695-457F-8A78-CBDD098617D7} = {958591BB-32C1-48C4-B5FA-11A2C5686814}
{86D96E8C-F62A-4563-AFEF-1907F9280D7D} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
{84D06F7E-6381-7653-27C1-4FF4A0232C92} = {0CAFC532-721B-4CD0-B4CA-AF10F07BFD76}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {983A22B3-AE5B-4B67-A798-F6A6697B82A8}
EndGlobalSection
EndGlobal
================================================
FILE: MvvmDialogs.sln.DotSettings
================================================
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntelliSenseCompletingCharacters/IntelliSenseCompletingCharactersSettingCSharp/UpgradedFromVSSettings/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/LookupWindow/ShowSummary/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeEditing/Localization/CSharpLocalizationOptions/DontAnalyseVerbatimStrings/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">SOLUTION</s:String>
<s:Boolean x:Key="/Default/CodeInspection/Highlighting/IdentifierHighlightingEnabled/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ArrangeAccessorOwnerBody/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertConditionalTernaryToNullCoalescing/@EntryIndexedValue">HINT</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToConditionalTernaryExpression/@EntryIndexedValue">HINT</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToNullCoalescingExpression/@EntryIndexedValue">HINT</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EmptyConstructor/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EmptyDestructor/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EmptyGeneralCatchClause/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EventUnsubscriptionViaAnonymousDelegate/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ExplicitCallerInfoArgument/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=FieldCanBeMadeReadOnly_002EGlobal/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=FieldCanBeMadeReadOnly_002ELocal/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=NotAccessedField_002EGlobal/@EntryIndexedValue">HINT</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=NUnit_002ENonPublicMethodWithTestAttribute/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=PossibleMultipleEnumeration/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=PublicConstructorInAbstractClass/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantBaseConstructorCall/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantCast/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantEnumerableCastCall/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantOverridenMember/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantToStringCall/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantUsingDirective/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveRedundantOrStatement_002EFalse/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveRedundantOrStatement_002ETrue/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveToList_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RemoveToList_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithFirstOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithFirstOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithFirstOrDefault_002E3/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithFirstOrDefault_002E4/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithLastOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithLastOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithLastOrDefault_002E3/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithLastOrDefault_002E4/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002E3/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EAny_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EAny_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ECount_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ECount_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EFirst_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EFirst_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EFirstOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EFirstOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ELast_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ELast_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ELastOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ELastOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ELongCount/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ESingle_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ESingle_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ESingleOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002ESingleOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithOfType_002EWhere/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToAny/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToCount/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToFirst/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToFirstOrDefault/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToLast/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToLastOrDefault/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToSingle/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleCallToSingleOrDefault/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleOrDefault_002E1/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleOrDefault_002E2/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleOrDefault_002E3/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ReplaceWithSingleOrDefault_002E4/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SealedMemberInSealedClass/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestUseVarKeywordEverywhere/@EntryIndexedValue">DO_NOT_SHOW</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002EGlobal/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002ELocal/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedMember_002EGlobal/@EntryIndexedValue">HINT</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedVariable/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=Xaml_002EBindingWithContextNotResolved/@EntryIndexedValue">ERROR</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=Xaml_002EBindingWithoutContextNotResolved/@EntryIndexedValue">SUGGESTION</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_LINQ_QUERY/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXPRESSION/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_FOR_STMT/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_PARAMETER/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTLINE_TYPE_PARAMETER_CONSTRAINS/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">NEXT_LINE</s:String>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AFTER_BLOCK_STATEMENTS/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_AUTO_PROPERTY/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_FIELD/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_INVOCABLE/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_PROPERTY/@EntryValue">0</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_TYPE/@EntryValue">0</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">NEXT_LINE</s:String>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CONTINUOUS_INDENT_MULTIPLIER/@EntryValue">1</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INITIALIZER_BRACES/@EntryValue">NEXT_LINE</s:String>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_CODE/@EntryValue">1</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue">1</s:Int64>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_EXISTING_INITIALIZER_ARRANGEMENT/@EntryValue">False</s:Boolean>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/MAX_INITIALIZER_ELEMENTS_ON_LINE/@EntryValue">1</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">NEVER</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_INITIALIZER_ON_SINGLE_LINE/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_LINQ_ON_SINGLE_LINE/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SIMPLE_EMBEDDED_STATEMENT_STYLE/@EntryValue">LINE_BREAK</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_ARROW_OP/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_MULTIPLICATIVE_OP/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_SIZEOF_PARENTHESES/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_TYPEOF_PARENTHESES/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_DECLARATION_LPAR/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_INVOCATION_LPAR/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_ARGUMENTS_STYLE/@EntryValue">CHOP_IF_LONG</s:String>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_LIMIT/@EntryValue">180</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_PARAMETERS_STYLE/@EntryValue">CHOP_IF_LONG</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/JavaScriptFormatOther/ALIGN_MULTIPLE_DECLARATION/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/XmlDocFormatter/LinebreaksInsideMultilineTag/@EntryValue">False</s:Boolean>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/XmlDocFormatter/WRAP_LIMIT/@EntryValue">140</s:Int64>
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Global/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Generate/=Global/Options/=PropertyBody/@EntryIndexedValue">Automatic property</s:String>
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Implementations/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=WrapInRegion/@EntryIndexedValue">False</s:String>
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=XmlDocumentation/@EntryIndexedValue">False</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CF/@EntryIndexedValue">CF</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IO/@EntryIndexedValue">IO</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=OK/@EntryIndexedValue">OK</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UI/@EntryIndexedValue">UI</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Constants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=EnumMember/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Interfaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=LocalConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Locals/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=MethodPropertyEvent/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Other/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Parameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PublicFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=StaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypeParameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypesAndNamespaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=15b5b1f1_002D457c_002D4ca6_002Db278_002D5615aedc07d3/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static readonly fields (private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=236f7aa5_002D7b06_002D43ca_002Dbf2a_002D9b31bfcff09a/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Private" Description="Constant fields (private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=2c62818f_002D621b_002D4425_002Dadc9_002D78611099bfcb/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Type parameters"><ElementKinds><Kind Name="TYPE_PARAMETER" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="T" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=4a98fdf6_002D7d98_002D4f5a_002Dafeb_002Dea44ad98c70c/@EntryIndexedValue"><Policy><Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=53eecf85_002Dd821_002D40e8_002Dac97_002Dfdb734542b84/@EntryIndexedValue"><Policy><Descriptor Staticness="Instance" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Instance fields (not private)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=61a991a4_002Dd0a3_002D4d19_002D90a5_002Df8f4d75c30c1/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Local variables"><ElementKinds><Kind Name="LOCAL_VARIABLE" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=669e5282_002Dfb4b_002D4e90_002D91e7_002D07d269d04b60/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Constant fields (not private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=70345118_002D4b40_002D4ece_002D937c_002Dbbeb7a0b2e70/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Static fields (not private)"><ElementKinds><Kind Name="FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=8a85b61a_002D1024_002D4f87_002Db9ef_002D1fdae19930a1/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Parameters"><ElementKinds><Kind Name="PARAMETER" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=8b8504e3_002Df0be_002D4c14_002D9103_002Dc732f2bddc15/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Enum members"><ElementKinds><Kind Name="ENUM_MEMBER" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=a0b4bc4d_002Dd13b_002D4a37_002Db37e_002Dc9c6864e4302/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Types and namespaces"><ElementKinds><Kind Name="NAMESPACE" /><Kind Name="CLASS" /><Kind Name="STRUCT" /><Kind Name="ENUM" /><Kind Name="DELEGATE" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=a4f433b8_002Dabcd_002D4e55_002Da08f_002D82e78cef0f0c/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Local constants"><ElementKinds><Kind Name="LOCAL_CONSTANT" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=a7a3339e_002D4e89_002D4319_002D9735_002Da9dc4cb74cc7/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Interfaces"><ElementKinds><Kind Name="INTERFACE" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="I" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=c873eafb_002Dd57f_002D481d_002D8c93_002D77f6863c2f88/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Static readonly fields (not private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=f9fce829_002De6f4_002D4cb2_002D80f1_002D5497c44f51df/@EntryIndexedValue"><Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"><ElementKinds><Kind Name="FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /></Policy></s:String>
<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FFIELD/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
<s:Boolean x:Key="/Default/Environment/Editor/QuickInfo/EnableQuickInfo/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002EJavaScript_002ECodeStyle_002ESettingsUpgrade_002EJsCodeFormatterSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002EJavaScript_002ECodeStyle_002ESettingsUpgrade_002EJsParsFormattingSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002EJavaScript_002ECodeStyle_002ESettingsUpgrade_002EJsWrapperSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EUnitTestFramework_002EMigrations_002EEnableDisabledProvidersMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/UnitTesting/SeparateAppDomainPerAssembly/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/UnitTesting/ShadowCopy/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue"><data /></s:String>
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue"><data><IncludeFilters /><ExcludeFilters /></data></s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=32F5B2BD4CFE0E42ADE73B7FB68EBDD0/Entry/=4C84A7D189E28A43AA2631BBE4694112/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=32F5B2BD4CFE0E42ADE73B7FB68EBDD0/Entry/=4C84A7D189E28A43AA2631BBE4694112/EntryName/@EntryValue">tag</s:String>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=32F5B2BD4CFE0E42ADE73B7FB68EBDD0/Entry/=4C84A7D189E28A43AA2631BBE4694112/Position/@EntryValue">10</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=32F5B2BD4CFE0E42ADE73B7FB68EBDD0/Entry/=A4284AC46CC5F44FB8DB9B563AE61B01/@KeyIndexDefined">False</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=5CF342079CE151478A11D345C1816DD0/Entry/=4C84A7D189E28A43AA2631BBE4694112/@KeyIndexDefined">False</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=5CF342079CE151478A11D345C1816DD0/Entry/=A4284AC46CC5F44FB8DB9B563AE61B01/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=5CF342079CE151478A11D345C1816DD0/Entry/=A4284AC46CC5F44FB8DB9B563AE61B01/EntryName/@EntryValue">using</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/QuickList/=82514885B0EC3D43B7B61C37BCFD0BA4/Entry/=2B4F6F494E484D4AB67AEBC47828B983/@KeyIndexDefined">False</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Description/@EntryValue">Creates a new interactivity behaviors block in XAML.</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Reformat/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Shortcut/@EntryValue">behaviors</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Text/@EntryValue"><interactivity:Interaction.Behaviors>
</interactivity:Interaction.Behaviors></s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Scope/=AD41E18405A7FF4682F040638EE2663C/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=312ABB1802610E4CAF8FDF8AED01AC01/Scope/=AD41E18405A7FF4682F040638EE2663C/Type/@EntryValue">InXmlFile</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/@KeyIndexDefined">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Categories/=Imported_00202013_002D06_002D19/@EntryIndexedValue">Imported 2013-06-19</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Description/@EntryValue">Creates a Rhino Mocks mock.</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Field/=FIELD/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Field/=FIELD/Order/@EntryValue">0</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Field/=INTERFACE/@KeyIndexDefined">True</s:Boolean>
<s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Field/=INTERFACE/Order/@EntryValue">1</s:Int64>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Reformat/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Scope/=CF7C2F2066E462418ABD91975B64021C/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Scope/=CF7C2F2066E462418ABD91975B64021C/CustomProperties/=mask/@EntryIndexedValue">*Test.cs</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Scope/=CF7C2F2066E462418ABD91975B64021C/Type/@EntryValue">InFileWithMask</s:String>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Shortcut/@EntryValue">mock</s:String>
<s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=A9A0CC3540FBAA41A26223D5BE7478F6/Text/@EntryValue">$FIELD$ = MockRepository.GenerateMock<$INTERFACE$>();</s:String>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Activable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Avalonia/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Multiselect/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mvvm/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Unregister/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Unregisters/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary>
================================================
FILE: README.md
================================================
<h1 align="center">
<br>
<img src="https://raw.githubusercontent.com/FantasticFiasco/mvvm-dialogs/master/doc/resources/Icon_200x200.png" alt="MVVM Dialogs" width="200">
<br>
MVVM Dialogs
<br>
</h1>
<h4 align="center">Library simplifying the concept of opening dialogs from a view model when using MVVM</h4>
<h6 align="center">Cross-platform solution derived from <a href="https://github.com/FantasticFiasco/mvvm-dialogs">FantasticFiasco/mvvm-dialogs</a></h6>
<p>
</p>
UI Frameworks currently supported:
- WPF <a href="https://www.nuget.org/packages/HanumanInstitute.MvvmDialogs.Wpf/"><img src="https://img.shields.io/nuget/v/HanumanInstitute.MvvmDialogs.Wpf.svg"></a> (Windows Presentation Foundation)
- [Avalonia](https://avaloniaui.net/) <a href="https://www.nuget.org/packages/HanumanInstitute.MvvmDialogs.Avalonia/"><img src="https://img.shields.io/nuget/v/HanumanInstitute.MvvmDialogs.Avalonia.svg"></a> (mature cross-platform UI framework with WPF-like syntax, including mobile/browser support)
UI Frameworks that can easily be added through community efforts:
- WinUI 3 (promising Android/iOS support but won't support Linux)
- Blazor (full app in web browser)
- UWP (Universal Windows Platform, this thing is dead)
## Table of contents
- [Introduction](#introduction)
- [Generic Usage](#generic-usage)
- [WPF Usage](#wpf-usage)
- [Avalonia Usage](#avalonia-usage)
- [StrongViewLocator](#strongviewlocator)
- [Framework Dialogs](#framework-dialogs)
- [Cross-Platform File Access](#cross-platform-file-access)
- [IModalDialogViewModel / ICloseable / IActivable](#imodaldialogviewmodel--icloseable--iactivable)
- [IViewLoaded / IViewClosing / IViewClosed](#iviewloaded--iviewclosing--iviewclosed)
- [Custom Windows](#custom-windows)
- [Custom Framework Dialogs](#custom-framework-dialogs)
- [Unit Testing](#unit-testing)
- [Logging](#logging)
- [Thread Safety](#thread-safety)
- [Differences from FantasticFiasco/mvvm-dialogs](#differences-from-fantasticfiascomvvm-dialogs)
- [Contributions Are Welcomed](#contributions-are-welcomed)
---
## Introduction
MVVM Dialogs is a library simplifying the concept of opening dialogs from a view model when using MVVM. It enables the developer to easily write unit tests for view models in the same manner unit tests are written for other classes.
The library has built in support for the following dialogs:
- Modal window
- Non-modal window
- Message box
- Open file dialog
- Save file dialog
- Open folder dialog
v2 adds supports for 'magic' mobile navigation with the same API.
[Here's a tutorial for building modern cross-platform applications.](https://github.com/mysteryx93/Modern.Net-Tutorial)
## Generic Usage
The interface `IDialogService` provides a platform-agnostic way of managing dialogs:
```c#
using HanumanInstitute.MvvmDialogs
public class ModalDialogTabContentViewModel : INotifyPropertyChanged
{
private readonly IDialogService dialogService;
public ModalDialogTabContentViewModel(IDialogService dialogService)
{
this.dialogService = dialogService;
}
...
private async Task ShowDialogAsync()
{
var dialogViewModel = dialogService.CreateViewModel<AddTextDialogViewModel>();
bool? success = await dialogService.ShowDialogAsync(this, dialogViewModel);
if (success == true)
{
Texts.Add(dialogViewModel.Text);
}
}
}
```
The recommended way of accessing your dialogs is to create a `DialogExtensions` class containing strongly-typed access to all your dialogs.
```c#
public static class DialogExtensions
{
public static async Task<PresetItem?> ShowLoadPresetViewAsync(this IDialogService dialog, INotifyPropertyChanged ownerViewModel)
{
dialog.CheckNotNull(nameof(dialog)); // using HanumanInstitute.Validators
var viewModel = dialog.CreateViewModel<SelectPresetViewModel>();
viewModel.Load(false);
var result = await dialog.ShowDialogAsync(ownerViewModel, viewModel).ConfigureAwait(true);
return result == true ? viewModel.SelectedItem : null;
}
public static async Task<string?> ShowSavePresetViewAsync(this IDialogService dialog, INotifyPropertyChanged ownerViewModel)
{
dialog.CheckNotNull(nameof(dialog));
var viewModel = dialog.CreateViewModel<SelectPresetViewModel>();
viewModel.Load(true);
var result = await dialog.ShowDialogAsync(ownerViewModel, viewModel).ConfigureAwait(true);
return result == true ? viewModel.PresetName : null;
}
}
```
To make your code testable, use `IDialogService.CreateViewModel<T>` to create your dialog view models. It will call `viewModelFactory` function that you set in `DialogService` constructor.
Then the usage is super *sexy*! (a long way from ReactiveUI [Interactions](https://www.reactiveui.net/docs/handbook/interactions/)...)
```c#
private async Task<string?> SavePreset()
{
var presetName = await dialogService.ShowSavePresetViewAsync(this);
if (presetName != null) { ... }
return presetName;
}
```
Meanwhile...
- You can use IDialogService within class libraries that have no reference to Avalonia nor Wpf (referencing only `HanumanInstitute.MvvmDialogs`)
- It is friendly for unit tests
### XAML Registrations
XAML registrations are no longer required as of v1.1 and these lines must be removed.
md:DialogServiceViews.IsRegistered="True"
## WPF Usage
Add a reference to `HanumanInstitute.MvvmDialogs.Wpf`
DialogService must be registered in the DependencyInjection container of your choice. Note that IDialogService is defined in `HanumanInstitute.MvvmDialogs` and DialogService is defined in `HanumanInstitute.MvvmDialogs.Wpf`.
To customize ViewModels to Views naming convention, in the constructor, you must pass a ViewLocator.
```c#
public partial class App
{
// Registering in CommunityToolkit.Mvvm
protected override void OnStartup(StartupEventArgs e)
{
Ioc.Default.ConfigureServices(
new ServiceCollection()
.AddSingleton<IDialogService>(new DialogService(
new DialogManager(viewLocator: new ViewLocator()),
viewModelFactory: x => Ioc.Default.GetService(x)))
.AddTransient<MainWindowViewModel>()
.BuildServiceProvider());
}
}
```
To associate view models with views, the default naming convention is to replace "ViewModel" with "View".
To specify your own convention, create `ViewLocator.cs` with this, inheriting from [ViewLocatorBase](src/MvvmDialogs.Wpf/ViewLocatorBase.cs). You can also use the `StrongViewLocator` to avoid using reflection. Alternatively, you can create your custom class that inherits `IViewLocator`.
```c#
using HanumanInstitute.MvvmDialogs.Wpf;
namespace MyDemoApp;
/// <summary>
/// Maps view models to views.
/// </summary>
public class ViewLocator : ViewLocatorBase
{
/// <inheritdoc />
protected override string GetViewName(object viewModel) => viewModel.GetType().FullName!.Replace("ViewModel", "View");
}
```
`IDialogService` exposes platform-agnostic async methods. For WPF (only), sync methods
are also available. If you plan to ever use the ViewModel with a different UI framework,
it is recommended to use the async methods.
```c#
private bool? ShowDialog()
{
var dialogViewModel = dialogService.CreateViewModel<AddTextDialogViewModel>();
return dialogService.ShowDialog(this, dialogViewModel); // Sync
}
}
```
### AppDialogSettings
When creating DialogService, you can pass AppDialogSettings with application-wide settings.
#### bool MessageBoxRightToLeft
Gets or sets whether message boxes are displayed right-to-left (RightAlign+RtlReading).
#### bool MessageBoxDefaultDesktopOnly
Gets or sets whether to display on the default desktop of the interactive window station. Specifies that the message box is displayed from a .NET Windows Service application in order to notify the user of an event.
#### bool MessageBoxServiceNotification
Gets or sets whether to display on the currently active desktop even if a user is not logged on to the computer. Specifies that the message box is displayed from a .NET Windows Service application in order to notify the user of an event.
#### bool AllowConcurrentDialogs
Gets or sets whether multiple dialogs can be shown at the same time.
If false (default), it will wait for the previous dialog to close before showing the next one.
## Avalonia Usage
Add a reference to `HanumanInstitute.MvvmDialogs.Avalonia`
DialogService must be registered in the DependencyInjection container of your choice. Note that IDialogService is defined in `HanumanInstitute.MvvmDialogs` and DialogService is defined in `HanumanInstitute.MvvmDialogs.Wpf`.
In the constructor, you must pass the ViewLocator from the Avalonia project template.
```c#
public class App : Application
{
// Registering in ReactiveUI/Splat
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
var build = Locator.CurrentMutable;
build.RegisterLazySingleton(() => (IDialogService)new DialogService(
new DialogManager(
viewLocator: new ViewLocator(),
dialogFactory: new DialogFactory().AddMessageBox()),
viewModelFactory: x => Locator.Current.GetService(x)));
SplatRegistrations.Register<MainWindowViewModel>();
SplatRegistrations.Register<CurrentTimeDialogViewModel>();
SplatRegistrations.SetupIOC();
}
```
To associate view models with views, the default naming convention (as of v2) is to replace folder "ViewModels" with "Views", and then change suffix from "ViewModel" to "Window" for desktop mode and "View" for mobile/navigation mode. Very often, Window simply contains the View.
To specify your own convention, replace `ViewLocator.cs` with this, inheriting from [ViewLocatorBase](src/MvvmDialogs.Avalonia/ViewLocatorBase.cs). You can also use the `StrongViewLocator` to avoid using reflection. Alternatively, you can create your custom class that inherits `IDataTemplate` (for Avalonia), `IViewLocator` and `IViewLocatorNavigation` (for MvvmDialogs). You can use `UseSinglePageNavigation` to know whether the app is running in desktop or navigation mode.
```c#
using HanumanInstitute.MvvmDialogs.Avalonia;
namespace MyDemoApp;
/// <summary>
/// Maps view models to views.
/// </summary>
public class ViewLocator : ViewLocatorBase
{
/// <inheritdoc />
protected override string GetViewName(object viewModel) => viewModel.GetType().FullName!.Replace("ViewModel", "");
}
```
### AppDialogSettings
#### bool AllowConcurrentDialogs
Gets or sets whether multiple dialogs can be shown at the same time.
If false (default), it will wait for the previous dialog to close before showing the next one.
### Mobile/Web Applications
Avalonia11 supports Android, iOS and Web Assembly. To support it, MvvmDialogs v2 went through considerable structural changes that resulted in very minor API changes.
For mobile devices and web browsers, the application is composed of a single root view, and you navigate between views. You can also force this mode on desktop by setting `viewLocator: new ViewLocatorBase() { ForceSinglePageNavigation = true }` in the `DialogManager` constructor.
The philosophy is this. We maintain a navigation history of view models only, and a weak cache of views. Views can be garbage collected and recreated when needed from the view models. You get the same navigation functionalities as a desktop app, but in a navigation mode. All the magic is done automatically, which means that your view model doesn't need to know whether it runs on mobile or desktop, and can support both modes.
Mobile back button is also supported automatically.
### Avalonia.MessageBox
Avalonia has no built-in support for message boxes. This extension handles message box requests
using [MessageBox.Avalonia](https://github.com/AvaloniaCommunity/MessageBox.Avalonia) library. `Mode=Window` only supports desktop mode. `Mode=Popup` is cross-platform.
1. Add a reference to `HanumanInstitute.MvvmDialogs.Avalonia.MessageBox`
2. Register the MessageBox handler on IDialogService like this:
```c#
new DialogService(new DialogManager(dialogFactory:
new DialogFactory().AddMessageBox(MessageBoxMode.Popup)))
```
### Avalonia.Fluent
[FluentAvalonia](https://github.com/amwx/FluentAvalonia/) brings more of Fluent design and WinUI controls into Avalonia.
1. Add a reference to `HanumanInstitute.MvvmDialogs.Avalonia.Fluent`
2. Register the handlers on IDialogService like this:
```c#
new DialogService(new DialogManager(dialogFactory:
new DialogFactory().AddFluent(FluentMessageBoxType.ContentDialog)))
```
It will add `IDialogService.ShowContentDialogAsync` and `IDialogService.ShowTaskDialogAsync`.
Additionally, `AddFluent` takes a parameter specifying whether to handle `IDialogService.ShowMessageBoxAsync` calls with ContentDialog or with TaskDialog.
### Avalonia.AuraUI
This extension handles message box requests using [Aura.UI](https://github.com/PieroCastillo/Aura.UI) library.
1. Add a reference to `HanumanInstitute.MvvmDialogs.Avalonia.AuraUI`
2. Register the MessageBox handler on IDialogService like this:
```c#
new DialogService(new DialogManager(dialogFactory:
new DialogFactory().AddMessageBoxAuraUI()))
```
Note: Aura.UI does not yet support Avalonia11 and is thus only available for MvvmDialogs v1.4.1
### Avalonia.DialogHost
[DialogHost.Avalonia](https://github.com/AvaloniaUtils/DialogHost.Avalonia) allows displaying views as popup overlays. FluentAvalonia brings WinUI3's ContentDialog that has title, content and button. On the other hand, DialogHost purely shows your view while giving you full control.
1. Add a reference to `HanumanInstitute.MvvmDialogs.Avalonia.DialogHost`
2. Register the handlers on IDialogService like this:
```c#
new DialogService(new DialogManager(dialogFactory:
new DialogFactory().AddDialogHost()))
```
It will add `IDialogService.ShowDialogHostAsync` that takes the following settings.
**ContentViewModel**: The view model of the view to show. The view will be resolved through Avalonia's ViewLocator.
**ClosingHandler**: A handler that will be called when the view is closing, allowing to cancel the close.
**CloseOnClickAway**: Whether to close the view when clicking elsewhere in the parent container.
**CloseOnClickAwayParameter**: The close value to set when closing by clicking away.
**PopupPositioner**: A class allowing to customize the positioning of the dialog.
You can then create extension methods for your views like this
```c#
public static async Task<string?> AskTextAsync(this IDialogService service,
INotifyPropertyChanged ownerViewModel, AppDialogSettingsBase? appSettings = null)
{
if (ownerViewModel == null) throw new ArgumentNullException(nameof(ownerViewModel));
var vm = service.CreateViewModel<TextBoxViewModel>();
var settings = new DialogHostSettings()
{
ContentViewModel = vm,
CloseOnClickAway = true
};
return (string?)await service.ShowDialogHostAsync(ownerViewModel, settings, appSettings);
}
```
[See sample project here](https://github.com/mysteryx93/HanumanInstitute.MvvmDialogs/tree/master/samples/Avalonia/Demo.DialogHost)
## StrongViewLocator
Instead of resolving views via reflection and naming conventions, you can also configure ViewModel-View pairs manually using the `StrongViewLocator`.
This will be necessary if you want to use Assembly Trimming, otherwise it will trim your View classes for a lack of hard references.
Create your View Locator like this, then pass it to your Dialog Manager as explained above.
```c#
public class ViewLocator : StrongViewLocator
{
public ViewLocator()
{
Register<MainViewModel, MainView, MainWindow>()
Register<CurrentTimeViewModel, CurrentTimeView, CurrentTimeWindow>()
Register<ConfirmCloseViewModel, ConfirmCloseView, ConfirmCloseWindow>();
}
}
```
## Framework Dialogs
`IDialogService` provides the following standard framework dialog methods:
- `bool? ShowMessageBoxAsync`
- `IDialogStorageFile? ShowOpenFileDialogAsync`
- `IDialogStorageFile? ShowSaveFileDialogAsync`
- `IDialogStorageFolder? ShowOpenFolderDialogAsync`
- `IReadOnlyList<IDialogStorageFile> ShowOpenFilesDialogAsync`
- `IReadOnlyList<IDialogStorageFolder> ShowOpenFoldersDialogAsync`
As of v2, files and folders are returned as `IDialogStorageFile` and `IDialogStorageFolder` instead of `string`. To get the path as a string like before (on desktop), simply add `.LocalPath`. Note that mobile and web have different path formats.
For extra dialog options, see Custom Framework Dialogs section.
## Cross-Platform File Access
To access files and folders across desktop, mobile and web, `IDialogStorageFile` and `IDialogStorageFolder` provide various standard methods. Instead of having direct access to files, you'll often use URIs, relative paths and bookmarks.
They copy Avalonia's `IStorageFile` and `IStorageFolder` [documented here](https://docs.avaloniaui.net/docs/concepts/services/storage-provider/storage-item). The reasons to copy those interfaces are to allow you to write platform-agnostic code, and to have consistency between WPF and Avalonia.
Avalonia provides various methods in `IStorageProvider` to get `IStorageFile` and `IStorageFolder` instances, as [documented here](https://docs.avaloniaui.net/docs/concepts/services/storage-provider/). You can convert them to the `MvvmDialogs` interface using the `ToDialog()` extension method.
Here's a example of a service that returns the Documents folder.
```c#
public class StorageService : IStorageService
{
protected virtual IStorageProvider Storage => _storage ??= GetTopLevel()?.StorageProvider ?? throw new NullReferenceException("No StorageProvider found.");
private IStorageProvider? _storage;
public async Task<IDialogStorageFolder?> GetDocumentsFolderAsync()
{
var result = await Storage.TryGetWellKnownFolderAsync(WellKnownFolder.Documents);
return result?.ToDialog();
}
private TopLevel? GetTopLevel()
{
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
return desktop.MainWindow;
}
if (Application.Current?.ApplicationLifetime is ISingleViewApplicationLifetime viewApp)
{
var visualRoot = viewApp.MainView?.GetVisualRoot();
return visualRoot as TopLevel;
}
return null;
}
}
```
Using your `StorageService` class, you can show a SaveDialog with default location set to Documents.
```c#
var _storage = new StorageService();
var settings = new SaveFileDialogSettings
{
SuggestedStartLocation = await _storage.GetDocumentsFolderAsync()
};
var file = await _dialogService.ShowSaveFileDialogAsync(this, settings);
```
On desktop platforms, you can convert a file path to `IDialogStorageFile` using either `HanumanInstitute.MvvmDialogs.FileSystem.DesktopDialogStorageFile` or `Avalonia.Platform.Storage.FileIO.BclStorageFile` which are nearly the same.
`DesktopDialogStorageFile` has these differences: it accepts a string path in the constructor instead of only a `FileInfo`, it is of type `IDialogStorageFile` instead of `IStorageFile`, and it is available in non-Avalonia projects. `IDesktopDialogStorageFactory` is also available for easier unit test mocking.
## IModalDialogViewModel / ICloseable / IActivable
All dialog ViewModels must implement `IModalDialogViewModel` to set `DialogResult` with the result of the dialog.
In your ViewModel, implement `ICloseable` to add `RequestClose` event which will automatically close the View when raised.
In your ViewModel, implement `IActivable` to add `RequestActivate` event which will automatically activate the View when raised.
## IViewLoaded / IViewClosing / IViewClosed
Handling Loading, Closing and Closed events presents a few annoyances.
Loading is a common business concern. Why would you have to write code in your View for it?
Closing is generally used to display a confirmation before exit. Calling async code from the Closing event would require complex code, both in the ViewModel and the View.
Closed cannot even call a command via an XAML behavior! Yet you need it to unregister some events to avoid memory leaks.
As a simple solution, you can implement `IViewLoaded`, `IViewClosing` and/or `IViewClosed` from your ViewModel with no code required in your View.
**IViewLoaded**
`void OnLoaded();` Called when the view is loaded.
**IViewClosed**
`void RaiseClosed();` Called when the view is closed.
**IViewClosing**
`void RaiseClosing(CancelEventArgs e);` Called when closing the view.
`Task OnClosingAsync(CancelEventArgs e);` Called if `e.Cancel` has been set to True in `OnClosing`
Setting `e.Cancel = true` in `OnClosing` will...
1. Cancel the close
2. Call OnClosingAsync
3. Setting `e.Cancel = false` in `OnClosingAsync` will close the view
See [Wpf/Demo.ViewEvents](samples/Wpf/Demo.ViewEvents/MainWindowViewModel.cs) for a sample implementation.
**IMPORTANT**: To use these added features in your main ViewModel, your main window must be initialized via `IDialogService`.
Initializing your main window in WPF in `App.xaml.cs`
```c#
protected override void OnStartup(StartupEventArgs e)
{
// ...
var dialogService = Ioc.Default.GetRequiredService<IDialogService>();
var vm = dialogService.CreateViewModel<MainWindowViewModel>();
dialogService.Show(null, vm);
Application.Current.MainWindow = Application.Current.Windows[0];
}
```
Initializing your main window in Avalonia in `App.axaml.cs`
```c#
public override void OnFrameworkInitializationCompleted()
{
GC.KeepAlive(typeof(DialogService));
DialogService.Show(null, MainWindow);
base.OnFrameworkInitializationCompleted();
}
public static MainWindowViewModel MainWindow => Locator.Current.GetService<MainWindowViewModel>()!;
public static IDialogService DialogService => Locator.Current.GetService<IDialogService>()!;
```
## Custom Windows
To display custom dialogs that are not of type `Window` or `ContentDialog`,
your dialog class must implement [IView](src/MvvmDialogs/IView.cs)
([sample](samples/Wpf/Demo.ModalCustomDialog/AddTextCustomDialog.cs)).
The usage will be the same as a standard `Window`.
## Custom Framework Dialogs
This part is the most different from the FantasticFiasco version and will require some work to port. The implementation further changed as of v1.3 to be simpler and more modular.
First, create a custom DialogFactory like this. Note that you can create entirely new methods by adding new settings types.
For new methods, you can customize the return type, but to override standard methods, you must specify the expected return type.
```c#
public class CustomDialogFactory : DialogFactoryBase
{
public CustomDialogFactory(IDialogFactory? chain = null)
: base(chain)
{
}
public override async Task<object?> ShowDialogAsync<TSettings>(WindowWrapper owner, TSettings settings, AppDialogSettings appSettings) =>
settings switch
{
OpenFolderDialogSettings s => await ShowOpenFolderDialogAsync(owner, s, appSettings),
_ => base.ShowDialogAsync(owner, settings, appSettings)
};
private async Task<string?> ShowOpenFolderDialogAsync(WindowWrapper owner, OpenFolderDialogSettings settings, AppDialogSettings appSettings) =>
"Action here";
}
```
Second, create an extension method to facilitate registration of the new Dialog Factory.
```c#
public static class DialogFactoryExtensions
{
public static IDialogFactory AddCustomOpenFolder(this IDialogFactory factory) => new CustomDialogFactory(factory);
}
```
Third, you must register DialogFactory when creating the DialogService. You can form a chain of DialogFactory
where each instance handles some types and passes unhandled requests to the next DialogFactory in the chain.
The extension method facilitates the creation of such chain. In this example, our new class handles OpenFolder,
and all other requests fallback to the default implementation.
```c#
new DialogService(dialogManager: new DialogManager(
dialogFactory: new DialogFactory().AddCustomOpenFolder()))
```
Finally, if you're creating a new method, you must create a new extension method on `IDialogService`
```c#
namespace HanumanInstitute.MvvmDialogs;
public static class Extensions
{
public static Task<TaskDialogButton> ShowTaskMessageBoxAsync(
this IDialogService service, INotifyPropertyChanged ownerViewModel,
string text, string title = "")
{
var settings = new TaskMessageBoxSettings(text, title);
return ShowTaskMessageBoxAsync(service, ownerViewModel, settings);
}
public static Task<TaskDialogButton> ShowTaskMessageBoxAsync(this IDialogService service,
INotifyPropertyChanged ownerViewModel, TaskMessageBoxSettings? settings = null)
{
if (ownerViewModel == null) throw new ArgumentNullException(nameof(ownerViewModel));
DialogLogger.Write($"TASK Caption: {settings?.Title}; Message: {settings?.Text}");
return service.DialogManager.ShowFrameworkDialogAsync<MessageBoxSettings, TaskDialogButton>(
ownerViewModel, settings ?? new MessageBoxSettings());
}
}
```
[Sample demo here](samples/Wpf/Demo.CustomMessageBox/)
[MvvmDialogs.Avalonia.MessageBox is an example of custom implementation](src/MvvmDialogs.Avalonia.MessageBox)
You could create a class library providing a new set of `IDialogService` methods.
### RunUiAsync
There is a useful extension method in `HanumanInstitute.MvvmDialogs.Wpf` and `HanumanInstitute.MvvmDialogs.Avalonia` to run a synchronous UI method as an async method:
```c#
UiExtensions.RunUiAsync(func)
```
## Unit Testing
To unit-test your project, mock [IDialogManager](src/MvvmDialogs/DialogTypeLocators/IDialogManager.cs). All UI interactions pass through `DialogManager`.
Pass your mock when creating your `DialogService`.
```c#
// Using Moq
var dialogManagerMock = new Mock<IDialogManager>();
new DialogService(dialogManager: dialogManagerMock.Object);
```
From here you can configure your mock to validate calls to `Show`, `ShowDialogAsync` and `ShowFrameworkDialogAsync`.
One problem you may face with unit testing dialogs is with the creation of your view model if it has dependencies.
In the `DialogService` constructor, pass `viewModelFactory`
new DialogService(viewModelFactory: x => Locator.Current.GetService(x))
Create your view model instances using `IDialogService.CreateViewModel<T>`
var vm = dialogService.CreateViewModel<MyDialogViewModel>();
*This* can easily be mocked. [Here's a sample unit test](samples/Avalonia/Demo.ModalDialog.Tests/MainWindowViewModelTests.cs)
## Logging
To enable logging, create a `DialogManager` and pass an `ILogger<DialogManager>` to its constructor.
```c#
var loggerFactory = LoggerFactory.Create(builder => builder.AddDebug());
var dialogService = new DialogService(
new DialogManager(logger: loggerFactory.CreateLogger<DialogManager>()));
```
## Thread Safety
All methods to show windows and dialogs are thread-safe and can be called from background threads.
`IDialogService.Activate` and `IDialogService.Close` are NOT thread-safe and must be called from the UI thread.
## Differences from FantasticFiasco/mvvm-dialogs
It is very easy to port an application from `FantasticFiasco/mvvm-dialogs` to `HanumanInstitute.MvvmDialogs`, yet there are also differences due to the fact that this library's API is framework-agnostic.
The internal code structure is completely different, while the public API remains mostly compatible.
Here are the differences:
- Namespace changed from `MvvmDialogs` to `HanumanInstitute.MvvmDialogs`
- Platform-specific code is in separate Wpf/Avalonia assembly
- XAML registration is no longer required
- All dialogs are shown using async methods. For WPF (only), sync methods remain available for compatibility.
- Custom dialogs are treated the same way as standard dialogs
- ICloseable / IActivable allow easily closing and activating the View from the ViewModel.
- Framework dialogs use framework-agnostic settings classes.
- There is no longer a separate namespace for each framework dialog.
- Framework dialog methods return the selected value instead of bool.
- FolderBrowserDialog has been renamed to OpenFolderDialog.
- Factory classes are implemented differently.
- Default naming convention, for `ViewModels/MainViewModel`, FantasticFiasco looks for `Views/Main`. This version looks for `Views/MainView`.
- Maps view models to views using Avalonia's ViewLocator design that is easily customizable.
- Logging is done using standard ILogging interface
- Supports view navigation on mobile devices with Avalonia!
## Contributions Are Welcomed
TODO:
- Implement for WinUI 3 (I'll leave this task to someone who is going to use it)
- Implement for UWP (this thing is dead... not worth implementing IMO)
- Implement for Blazor?
- Ensure that non-visible views can be released from memory
- Adapt this [StaticViewLocatorGenerator](https://github.com/zkSNACKs/WalletWasabi/blob/1b8d142d0ec6892f13f6c50c3fec5d7ceb7f06ce/WalletWasabi.Fluent.Generators/StaticViewLocatorGenerator.cs#L12) ([usage here](https://github.com/zkSNACKs/WalletWasabi/blob/1b8d142d0ec6892f13f6c50c3fec5d7ceb7f06ce/WalletWasabi.Fluent/ViewLocator.cs#L7))
to replace the default naming convention ViewLocator with Source Generator instead of Reflection
### Author
Brought to you by [Etienne Charland aka Hanuman](https://www.spiritualselftransformation.com/). Made by a Lightworker in his spare time.
================================================
FILE: deletebin.sh
================================================
#!/bin/bash
find . -type d -name bin -prune -exec rm -rf {} \;
find . -type d -name obj -prune -exec rm -rf {} \;
================================================
FILE: nuget.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
================================================
FILE: samples/Avalonia/CrossPlatform/.gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# Tye
.tye/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
##
## Visual studio for Mac
##
# globs
Makefile.in
*.userprefs
*.usertasks
config.make
config.status
aclocal.m4
install-sh
autom4te.cache/
*.tar.gz
tarballs/
test-results/
# Mac bundle stuff
*.dmg
*.app
# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# JetBrains Rider
.idea/
*.sln.iml
##
## Visual Studio Code
##
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/App.axaml
================================================
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Demo.CrossPlatform"
xmlns:crossPlatform="clr-namespace:Demo.CrossPlatform"
xmlns:styling="clr-namespace:FluentAvalonia.Styling;assembly=FluentAvalonia"
x:Class="Demo.CrossPlatform.App">
<Application.DataTemplates>
<local:ViewLocator/>
</Application.DataTemplates>
<Application.Styles>
<styling:FluentAvaloniaTheme />
</Application.Styles>
</Application>
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/App.axaml.cs
================================================
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Demo.CrossPlatform.Services;
using Demo.CrossPlatform.ViewModels;
using HanumanInstitute.MvvmDialogs;
using HanumanInstitute.MvvmDialogs.Avalonia;
using Microsoft.Extensions.Logging;
using Splat;
namespace Demo.CrossPlatform;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
var build = Locator.CurrentMutable;
var loggerFactory = LoggerFactory.Create(builder => builder.AddFilter(logLevel => true).AddDebug());
build.RegisterLazySingleton(() => (IDialogService)new DialogService(
new DialogManager(
viewLocator: new ViewLocator(),
logger: loggerFactory.CreateLogger<DialogManager>(),
dialogFactory: new DialogFactory().AddFluent(messageBoxType: FluentMessageBoxType.ContentDialog)),
viewModelFactory: x => Locator.Current.GetService(x)));
SplatRegistrations.Register<MainViewModel>();
SplatRegistrations.Register<CurrentTimeViewModel>();
SplatRegistrations.Register<ConfirmCloseViewModel>();
SplatRegistrations.Register<IStorageService, StorageService>();
SplatRegistrations.SetupIOC();
}
public override void OnFrameworkInitializationCompleted()
{
DialogService.Show(null, MainViewModel);
base.OnFrameworkInitializationCompleted();
}
public static MainViewModel MainViewModel => Locator.Current.GetService<MainViewModel>()!;
public static CurrentTimeViewModel CurrentTimeViewModel => Locator.Current.GetService<CurrentTimeViewModel>()!;
public static ConfirmCloseViewModel ConfirmCloseViewModel => Locator.Current.GetService<ConfirmCloseViewModel>()!;
private static IDialogService DialogService => Locator.Current.GetService<IDialogService>()!;
public static StrongViewLocator ViewLocator { get; private set; } = default!;
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/StreamExtensions.cs
================================================
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace Demo.CrossPlatform.Business;
public static class StreamExtensions
{
public static async Task CopyToAsync(this Stream source, Stream destination, IProgress<long> progress, CancellationToken cancellationToken = default(CancellationToken), int bufferSize = 0x1000)
{
var buffer = new byte[bufferSize];
int bytesRead;
long totalRead = 0;
while ((bytesRead = await source.ReadAsync(buffer, 0, buffer.Length, cancellationToken)) > 0)
{
await destination.WriteAsync(buffer, 0, bytesRead, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
totalRead += bytesRead;
//Thread.Sleep(10);
progress.Report(totalRead);
}
}
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/SynchronousProgress.cs
================================================
namespace Demo.CrossPlatform.Business;
public sealed class SynchronousProgress<T>(Action<T> callback) : IProgress<T>
{
void IProgress<T>.Report(T data) => callback(data);
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Demo.CrossPlatform.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<AvaloniaResource Include="Assets\**" />
<TrimmerRootDescriptor Include="Roots.xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia" />
<PackageReference Include="Avalonia.Themes.Fluent" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Include="Microsoft.Extensions.Logging.Debug" />
<PackageReference Include="ReactiveUI.Avalonia" />
<PackageReference Include="ReactiveUI.SourceGenerators">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Splat.DependencyInjection.SourceGenerator">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\src\MvvmDialogs.Avalonia.Fluent\MvvmDialogs.Avalonia.Fluent.csproj" />
<ProjectReference Include="..\..\..\..\src\MvvmDialogs.Avalonia\MvvmDialogs.Avalonia.csproj" />
<ProjectReference Include="..\..\..\..\src\MvvmDialogs\MvvmDialogs.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Views\ConfirmCloseView.axaml.cs">
<DependentUpon>ConfirmCloseView.axaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Update="Views\ConfirmCloseWindow.axaml.cs">
<DependentUpon>ConfirmCloseWindow.axaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
</ItemGroup>
</Project>
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/FodyWeavers.xml
================================================
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ReactiveUI />
</Weavers>
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/GlobalUsings.cs
================================================
global using System;
global using Avalonia;
global using RxCommandUnit = ReactiveUI.ReactiveCommand<System.Reactive.Unit, System.Reactive.Unit>;
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Roots.xml
================================================
<linker>
<!-- Can be removed if CompiledBinding and no reflection are used -->
<assembly fullname="Avalonia11" preserve="All" />
<assembly fullname="Avalonia.Themes.Fluent" preserve="All" />
</linker>
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/IStorageService.cs
================================================
using System.Threading.Tasks;
using HanumanInstitute.MvvmDialogs.FileSystem;
namespace Demo.CrossPlatform.Services;
public interface IStorageService
{
Task<IDialogStorageFolder?> GetDownloadsFolderAsync();
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/StorageService.cs
================================================
using System.Threading.Tasks;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Platform.Storage;
using Avalonia.VisualTree;
using HanumanInstitute.MvvmDialogs.Avalonia;
using HanumanInstitute.MvvmDialogs.FileSystem;
namespace Demo.CrossPlatform.Services;
public class StorageService : IStorageService
{
protected virtual IStorageProvider Storage => _storage ??= GetTopLevel(Application.Current)?.StorageProvider ?? throw new NullReferenceException("No StorageProvider found.");
private IStorageProvider? _storage;
public async Task<IDialogStorageFolder?> GetDownloadsFolderAsync()
{
var result = await Storage.TryGetWellKnownFolderAsync(WellKnownFolder.Downloads);
return result?.ToDialog();
}
/// <summary>
/// Returns the TopLevel from the main window or view.
/// </summary>
/// <param name="app">The application to get the TopLevel for.</param>
/// <returns>A TopLevel object.</returns>
private TopLevel? GetTopLevel(Application? app)
{
if (app?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
return desktop.MainWindow;
}
if (app?.ApplicationLifetime is ISingleViewApplicationLifetime viewApp)
{
return TopLevel.GetTopLevel(viewApp.MainView);
}
return null;
}
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewLocator.cs
================================================
using Demo.CrossPlatform.ViewModels;
using Demo.CrossPlatform.Views;
using HanumanInstitute.MvvmDialogs.Avalonia;
namespace Demo.CrossPlatform;
/// <summary>
/// Maps view models to views in Avalonia.
/// </summary>
public class ViewLocator : StrongViewLocator
{
public ViewLocator()
{
ForceSinglePageNavigation = false;
Register<MainViewModel, MainView, MainWindow>();
Register<CurrentTimeViewModel, CurrentTimeView, CurrentTimeWindow>();
Register<ConfirmCloseViewModel, ConfirmCloseView, ConfirmCloseWindow>();
}
}
================================================
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/ConfirmCloseViewModel.cs
================================================
using System.ComponentModel;
using System.Threading.Tasks;
using HanumanInstitute.MvvmDialogs;
using HanumanInstitute.MvvmDialogs.FrameworkDialogs;
using ReactiveUI;
using ReactiveUI.SourceGenerators;
namespace Demo.CrossPlatform.ViewModels;
public partial class ConfirmCloseViewModel : ViewModelBase, IModalDialogViewModel, IViewClosing, IViewLoaded, ICloseable
{
private readonly IDialogService _dialogService;
public event EventHandler? RequestClose;
public bool? DialogResult => true;
public ConfirmCloseViewModel(IDialogService dialogService)
{
_dia
gitextract_3wxtmbfy/
├── .editorconfig
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── Directory.Packages.props
├── LICENSE.md
├── MvvmDialogs.sln
├── MvvmDialogs.sln.DotSettings
├── README.md
├── deletebin.sh
├── nuget.config
├── samples/
│ ├── Avalonia/
│ │ ├── CrossPlatform/
│ │ │ ├── .gitignore
│ │ │ ├── Demo.CrossPlatform/
│ │ │ │ ├── App.axaml
│ │ │ │ ├── App.axaml.cs
│ │ │ │ ├── Business/
│ │ │ │ │ ├── StreamExtensions.cs
│ │ │ │ │ └── SynchronousProgress.cs
│ │ │ │ ├── Demo.CrossPlatform.csproj
│ │ │ │ ├── FodyWeavers.xml
│ │ │ │ ├── GlobalUsings.cs
│ │ │ │ ├── Roots.xml
│ │ │ │ ├── Services/
│ │ │ │ │ ├── IStorageService.cs
│ │ │ │ │ └── StorageService.cs
│ │ │ │ ├── ViewLocator.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ ├── ConfirmCloseViewModel.cs
│ │ │ │ │ ├── CurrentTimeViewModel.cs
│ │ │ │ │ ├── MainViewModel.cs
│ │ │ │ │ └── ViewModelBase.cs
│ │ │ │ └── Views/
│ │ │ │ ├── ConfirmCloseView.axaml
│ │ │ │ ├── ConfirmCloseView.axaml.cs
│ │ │ │ ├── ConfirmCloseWindow.axaml
│ │ │ │ ├── ConfirmCloseWindow.axaml.cs
│ │ │ │ ├── CurrentTimeView.axaml
│ │ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ │ ├── CurrentTimeWindow.axaml
│ │ │ │ ├── CurrentTimeWindow.axaml.cs
│ │ │ │ ├── MainView.axaml
│ │ │ │ ├── MainView.axaml.cs
│ │ │ │ ├── MainWindow.axaml
│ │ │ │ └── MainWindow.axaml.cs
│ │ │ ├── Demo.CrossPlatform.Android/
│ │ │ │ ├── Demo.CrossPlatform.Android.csproj
│ │ │ │ ├── MainActivity.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ └── Resources/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── splash_screen.xml
│ │ │ │ └── values/
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ ├── Demo.CrossPlatform.Browser/
│ │ │ │ ├── AppBundle/
│ │ │ │ │ ├── app.css
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── main.js
│ │ │ │ ├── Demo.CrossPlatform.Browser.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ └── launchSettings.json
│ │ │ │ └── runtimeconfig.template.json
│ │ │ ├── Demo.CrossPlatform.Desktop/
│ │ │ │ ├── Demo.CrossPlatform.Desktop.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── app.manifest
│ │ │ ├── Demo.CrossPlatform.iOS/
│ │ │ │ ├── AppDelegate.cs
│ │ │ │ ├── Demo.CrossPlatform.iOS.csproj
│ │ │ │ ├── Entitlements.plist
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Main.cs
│ │ │ │ └── Resources/
│ │ │ │ └── LaunchScreen.xib
│ │ │ └── Demo.CrossPlatform.sln
│ │ ├── Demo.ActivateNonModalDialog.MvvmToolkit/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.ActivateNonModalDialog.MvvmToolkit.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.CloseNonModalDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.CloseNonModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.CustomOpenFolderDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CustomDialogFactory.cs
│ │ │ ├── Demo.CustomOpenFolderDialog.csproj
│ │ │ ├── DialogFactoryExtensions.cs
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.DialogHost/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.DialogHost.csproj
│ │ │ ├── DialogServiceExtensions.cs
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentContentDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.FluentContentDialog.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentMessageBoxContentDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.FluentMessageBoxContentDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentMessageBoxTaskDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.FluentMessageBoxTaskDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.FluentTaskDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── AskTextBoxView.axaml
│ │ │ ├── AskTextBoxView.axaml.cs
│ │ │ ├── AskTextBoxViewModel.cs
│ │ │ ├── CurrentTimeView.axaml
│ │ │ ├── CurrentTimeView.axaml.cs
│ │ │ ├── CurrentTimeViewModel.cs
│ │ │ ├── Demo.FluentTaskDialog.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── MainView.axaml
│ │ │ ├── MainView.axaml.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MessageView.axaml
│ │ │ ├── MessageView.axaml.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.Logging/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.Logging.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.MessageBox/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.MessageBox.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalCustomDialog/
│ │ │ ├── AddTextCustomDialog.cs
│ │ │ ├── AddTextCustomDialogViewModel.cs
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.ModalCustomDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalDialog/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.ModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.ModalDialog.Tests/
│ │ │ ├── Demo.ModalDialog.Tests.csproj
│ │ │ └── MainWindowViewModelTests.cs
│ │ ├── Demo.NonModalCustomDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeCustomDialog.cs
│ │ │ ├── CurrentTimeCustomDialogViewModel.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── Demo.NonModalCustomDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.NonModalDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── CurrentTimeDialog.axaml
│ │ │ ├── CurrentTimeDialog.axaml.cs
│ │ │ ├── CurrentTimeDialogViewModel.cs
│ │ │ ├── Demo.NonModalDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.OpenFileDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.OpenFileDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.OpenFolderDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.OpenFolderDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.SaveFileDialog/
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.SaveFileDialog.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ ├── Demo.StrongLocator/
│ │ │ ├── AddTextDialog.axaml
│ │ │ ├── AddTextDialog.axaml.cs
│ │ │ ├── AddTextDialogViewModel.cs
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Demo.StrongLocator.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── ViewLocator.cs
│ │ │ └── ViewModelBase.cs
│ │ └── Demo.ViewEvents/
│ │ ├── App.axaml
│ │ ├── App.axaml.cs
│ │ ├── Demo.ViewEvents.csproj
│ │ ├── MainWindow.axaml
│ │ ├── MainWindow.axaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── Program.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelBase.cs
│ ├── Directory.Build.props
│ └── Wpf/
│ ├── Demo.ActivateNonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.ActivateNonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.CloseNonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.CloseNonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.CustomOpenFolderDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CustomDialogFactory.cs
│ │ ├── Demo.CustomOpenFolderDialog.csproj
│ │ ├── DialogFactoryExtensions.cs
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.MessageBox/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.MessageBox.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalCustomDialog/
│ │ ├── AddTextCustomDialog.cs
│ │ ├── AddTextCustomDialogViewModel.cs
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ModalCustomDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalDialog/
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── AddTextDialogViewModel.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ModalDialog.Tests/
│ │ ├── Demo.ModalDialog.Tests.csproj
│ │ └── MainWindowViewModelTests.cs
│ ├── Demo.NonModalCustomDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeCustomDialog.cs
│ │ ├── CurrentTimeCustomDialogViewModel.cs
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── Demo.NonModalCustomDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.NonModalDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── CurrentTimeDialog.xaml
│ │ ├── CurrentTimeDialog.xaml.cs
│ │ ├── CurrentTimeDialogViewModel.cs
│ │ ├── Demo.NonModalDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.OpenFileDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.OpenFileDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── OpenMe.txt
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.OpenFolderDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.OpenFolderDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.SaveFileDialog/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.SaveFileDialog.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.StrongLocator/
│ │ ├── AddTextDialog.xaml
│ │ ├── AddTextDialog.xaml.cs
│ │ ├── AddTextDialogViewModel.cs
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.StrongLocator.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ ├── Demo.ViewEvents/
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── ApplicationResources.xaml
│ │ ├── Demo.ViewEvents.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── MainWindowViewModel.cs
│ │ ├── ViewLocator.cs
│ │ └── ViewModelLocator.cs
│ └── TestBaseClasses/
│ ├── Features/
│ │ └── FeatureSteps.cs
│ └── TestBaseClasses.csproj
└── src/
├── Directory.Build.props
├── MvvmDialogs/
│ ├── DialogManagerBase.cs
│ ├── DialogNotFoundException.cs
│ ├── DialogServiceBase.cs
│ ├── DialogServiceExtensions.cs
│ ├── DialogSettingsBase.cs
│ ├── FileSystem/
│ │ ├── DesktopDialogStorageFactory.cs
│ │ ├── DesktopDialogStorageFile.cs
│ │ ├── DesktopDialogStorageFolder.cs
│ │ ├── DesktopDialogStorageItem.cs
│ │ ├── DesktopDialogStorageItemProperties.cs
│ │ ├── IDesktopDialogStorageFactory.cs
│ │ ├── IDialogStorageFile.cs
│ │ ├── IDialogStorageFolder.cs
│ │ └── IDialogStorageItem.cs
│ ├── FrameworkDialogs/
│ │ ├── FileDialogSettings.cs
│ │ ├── FileFilter.cs
│ │ ├── MessageBoxButton.cs
│ │ ├── MessageBoxImage.cs
│ │ ├── MessageBoxSettings.cs
│ │ ├── OpenFileDialogSettings.cs
│ │ ├── OpenFolderDialogSettings.cs
│ │ ├── PickerDialogSettings.cs
│ │ └── SaveFileDialogSettings.cs
│ ├── IActivable.cs
│ ├── ICloseable.cs
│ ├── IDialogFactory.cs
│ ├── IDialogManager.cs
│ ├── IDialogService.cs
│ ├── IModalDialogViewModel.cs
│ ├── IView.cs
│ ├── IViewClosed.cs
│ ├── IViewClosing.cs
│ ├── IViewLoaded.cs
│ ├── IViewLocator.cs
│ ├── MvvmDialogs.csproj
│ ├── MvvmDialogs.csproj.DotSettings
│ ├── Private/
│ │ ├── NullableAttributes.cs
│ │ └── ViewIdGenerator.cs
│ ├── StrongViewLocatorBase.cs
│ ├── Usings.cs
│ ├── ViewBase.cs
│ ├── ViewDefinition.cs
│ └── ViewNotRegisteredException.cs
├── MvvmDialogs.Avalonia/
│ ├── Api/
│ │ ├── FrameworkDialogsApi.cs
│ │ └── IFrameworkDialogsApi.cs
│ ├── DialogFactory.cs
│ ├── DialogFactoryBase.cs
│ ├── DialogManager.cs
│ ├── DialogService.cs
│ ├── FileSystem/
│ │ ├── AvaloniaDialogStorageFile.cs
│ │ ├── AvaloniaDialogStorageFolder.cs
│ │ ├── AvaloniaDialogStorageItem.cs
│ │ └── StorageExtensions.cs
│ ├── IViewLocatorNavigation.cs
│ ├── MvvmDialogs.Avalonia.csproj
│ ├── MvvmDialogs.Avalonia.csproj.DotSettings
│ ├── Navigation/
│ │ ├── CancellableActions.cs
│ │ ├── DialogTask.cs
│ │ ├── INavigationManager.cs
│ │ ├── NavigationManager.cs
│ │ ├── NavigationRoot.axaml
│ │ ├── NavigationRoot.axaml.cs
│ │ ├── NavigationRootWindow.axaml
│ │ ├── NavigationRootWindow.axaml.cs
│ │ ├── ViewCache.cs
│ │ ├── ViewCacheItem.cs
│ │ └── ViewNavigationWrapper.cs
│ ├── Private/
│ │ └── NullableAttributes.cs
│ ├── StrongViewLocator.cs
│ ├── UiExtensions.cs
│ ├── Usings.cs
│ ├── ViewClosingHandler.cs
│ ├── ViewLocatorBase.cs
│ └── ViewWrapper.cs
├── MvvmDialogs.Avalonia.DialogHost/
│ ├── DialogFactoryExtensions.cs
│ ├── DialogHostDialogFactory.cs
│ ├── DialogHostSettings.cs
│ ├── DialogHostView.cs
│ ├── DialogServiceExtensions.cs
│ ├── MvvmDialogs.Avalonia.DialogHost.csproj
│ └── Usings.cs
├── MvvmDialogs.Avalonia.Fluent/
│ ├── ContentDialogSettings.cs
│ ├── DialogFactoryExtensions.cs
│ ├── DialogServiceExtensions.cs
│ ├── FluentApi.cs
│ ├── FluentContentView.cs
│ ├── FluentDialogFactory.cs
│ ├── FluentMessageBoxType.cs
│ ├── FluentTaskView.cs
│ ├── MvvmDialogs.Avalonia.Fluent.csproj
│ ├── TaskDialogSettings.cs
│ └── Usings.cs
├── MvvmDialogs.Avalonia.MessageBox/
│ ├── DialogFactoryExtensions.cs
│ ├── IMessageBoxApi.cs
│ ├── MessageBoxApi.cs
│ ├── MessageBoxApiSettings.cs
│ ├── MessageBoxDialogFactory.cs
│ ├── MessageBoxMode.cs
│ ├── MvvmDialogs.Avalonia.MessageBox.csproj
│ └── Usings.cs
├── MvvmDialogs.Avalonia.Tests/
│ ├── MvvmDialogs.Avalonia.Tests.csproj
│ ├── NavigationTests.cs
│ ├── TestsBase.cs
│ ├── Usings.cs
│ ├── ViewNavigationWrapperTests.cs
│ └── Views/
│ ├── FirstView.axaml
│ ├── FirstView.axaml.cs
│ ├── FirstViewModel.cs
│ ├── FirstWindow.axaml
│ ├── FirstWindow.axaml.cs
│ ├── SecondView.axaml
│ ├── SecondView.axaml.cs
│ ├── SecondViewModel.cs
│ ├── SecondWindow.axaml
│ ├── SecondWindow.axaml.cs
│ ├── ThirdView.axaml
│ ├── ThirdView.axaml.cs
│ ├── ThirdViewModel.cs
│ ├── ThirdWindow.axaml
│ └── ThirdWindow.axaml.cs
├── MvvmDialogs.Wpf/
│ ├── Api/
│ │ ├── FileApiSettings.cs
│ │ ├── FrameworkDialogsApi.cs
│ │ ├── IFrameworkDialogsApi.cs
│ │ ├── MessageBoxApiSettings.cs
│ │ ├── OpenFileApiSettings.cs
│ │ ├── OpenFolderApiSettings.cs
│ │ └── SaveFileApiSettings.cs
│ ├── DialogFactory.cs
│ ├── DialogFactoryBase.cs
│ ├── DialogManager.cs
│ ├── DialogService.cs
│ ├── DialogServiceExtensions.cs
│ ├── GlobalUsings.cs
│ ├── IDialogFactorySync.cs
│ ├── IDialogManagerSync.cs
│ ├── IDialogServiceSync.cs
│ ├── IWindowSync.cs
│ ├── MvvmDialogs.Wpf.csproj
│ ├── Runtime/
│ │ └── NullableAttributes.cs
│ ├── StrongViewLocator.cs
│ ├── UiExtensions.cs
│ ├── ViewLocatorBase.cs
│ ├── ViewWrapper.cs
│ └── Win32Window.cs
├── StrongName.snk
└── public.key
SYMBOL INDEX (1348 symbols across 375 files)
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/MainActivity.cs
class MainApplication (line 11) | [Application]
method MainApplication (line 14) | protected MainApplication(IntPtr javaReference, JniHandleOwnership tra...
method CustomizeAppBuilder (line 17) | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
class MainActivity (line 24) | [Activity(
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/Program.cs
class Program (line 10) | internal partial class Program
method Main (line 12) | private static async Task Main(string[] args) => await BuildAvaloniaApp()
method BuildAvaloniaApp (line 16) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Desktop/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/AppDelegate.cs
class AppDelegate (line 11) | [Register("AppDelegate")]
method CustomizeAppBuilder (line 14) | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Main.cs
class Application (line 5) | public class Application
method Main (line 8) | static void Main(string[] args)
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/App.axaml.cs
class App (line 12) | public partial class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 35) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/StreamExtensions.cs
class StreamExtensions (line 7) | public static class StreamExtensions
method CopyToAsync (line 9) | public static async Task CopyToAsync(this Stream source, Stream destin...
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/SynchronousProgress.cs
class SynchronousProgress (line 3) | public sealed class SynchronousProgress<T>(Action<T> callback) : IProgre...
method Report (line 5) | void IProgress<T>.Report(T data) => callback(data);
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/IStorageService.cs
type IStorageService (line 6) | public interface IStorageService
method GetDownloadsFolderAsync (line 8) | Task<IDialogStorageFolder?> GetDownloadsFolderAsync();
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/StorageService.cs
class StorageService (line 11) | public class StorageService : IStorageService
method GetDownloadsFolderAsync (line 16) | public async Task<IDialogStorageFolder?> GetDownloadsFolderAsync()
method GetTopLevel (line 27) | private TopLevel? GetTopLevel(Application? app)
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewLocator.cs
class ViewLocator (line 10) | public class ViewLocator : StrongViewLocator
method ViewLocator (line 12) | public ViewLocator()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/ConfirmCloseViewModel.cs
class ConfirmCloseViewModel (line 10) | public partial class ConfirmCloseViewModel : ViewModelBase, IModalDialog...
method ConfirmCloseViewModel (line 16) | public ConfirmCloseViewModel(IDialogService dialogService)
method OnLoaded (line 27) | public void OnLoaded()
method OnClosing (line 32) | public void OnClosing(CancelEventArgs e)
method CloseImpl (line 37) | private void CloseImpl()
method OnClosingAsync (line 42) | public async Task OnClosingAsync(CancelEventArgs e)
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/CurrentTimeViewModel.cs
class CurrentTimeViewModel (line 7) | public class CurrentTimeViewModel : ViewModelBase, IModalDialogViewModel...
method CurrentTimeViewModel (line 9) | public CurrentTimeViewModel()
method CloseImpl (line 27) | private void CloseImpl()
method OnClosed (line 32) | public void OnClosed() => Closed?.Invoke(this, EventArgs.Empty);
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/MainViewModel.cs
class MainViewModel (line 15) | public partial class MainViewModel : ViewModelBase
method MainViewModel (line 20) | public MainViewModel(IDialogService dialogService, IStorageService sto...
method Dialog_ViewClosed (line 62) | private void Dialog_ViewClosed(object? sender, EventArgs e) => DialogV...
method ShowImpl (line 77) | private void ShowImpl()
method ActivateImpl (line 83) | private void ActivateImpl() => _dialogService.Activate(DialogViewModel!);
method CloseImpl (line 85) | private void CloseImpl()
method ShowDialogImplAsync (line 91) | private async Task ShowDialogImplAsync()
method DialogConfirmCloseImplAsync (line 97) | private async Task DialogConfirmCloseImplAsync()
method OpenFileImplAsync (line 103) | private async Task OpenFileImplAsync()
method ScanFileProgressAsync (line 117) | private async Task ScanFileProgressAsync(IDialogStorageFile file)
method OpenFilesImplAsync (line 143) | private async Task OpenFilesImplAsync()
method OpenFolderImplAsync (line 153) | private async Task OpenFolderImplAsync()
method OpenFoldersImplAsync (line 163) | private async Task OpenFoldersImplAsync()
method SaveFileImplAsync (line 173) | private async Task SaveFileImplAsync()
method MessageBoxImplAsync (line 183) | private async Task MessageBoxImplAsync()
method MessageBoxMultipleImplAsync (line 189) | private async Task MessageBoxMultipleImplAsync()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseView.axaml.cs
class ConfirmCloseView (line 6) | public partial class ConfirmCloseView : UserControl
method ConfirmCloseView (line 8) | public ConfirmCloseView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseWindow.axaml.cs
class ConfirmCloseWindow (line 6) | public partial class ConfirmCloseWindow : Window
method ConfirmCloseWindow (line 8) | public ConfirmCloseWindow()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeView.axaml.cs
class CurrentTimeView (line 6) | public partial class CurrentTimeView : UserControl
method CurrentTimeView (line 8) | public CurrentTimeView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeWindow.axaml.cs
class CurrentTimeWindow (line 6) | public partial class CurrentTimeWindow : Window
method CurrentTimeWindow (line 8) | public CurrentTimeWindow()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainView.axaml.cs
class MainView (line 5) | public partial class MainView : UserControl
method MainView (line 7) | public MainView()
FILE: samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainWindow.axaml.cs
class MainWindow (line 5) | public partial class MainWindow : Window
method MainWindow (line 7) | public MainWindow()
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 15) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 34) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/CurrentTimeDialog.axaml.cs
class CurrentTimeDialog (line 7) | public partial class CurrentTimeDialog : Window
method CurrentTimeDialog (line 9) | public CurrentTimeDialog()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 6) | public class CurrentTimeDialogViewModel : ViewModelBase
method CurrentTimeDialogViewModel (line 11) | public CurrentTimeDialogViewModel()
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/MainWindowViewModel.cs
class MainWindowViewModel (line 7) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 28) | public MainWindowViewModel(IDialogService dialogService)
method Show (line 36) | public void Show()
method Activate (line 42) | public void Activate() => _dialogService.Activate(DialogViewModel!);
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/Program.cs
class Program (line 6) | public class Program
method Main (line 11) | [STAThread]
method BuildAvaloniaApp (line 16) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ObservableObject
FILE: samples/Avalonia/Demo.CloseNonModalDialog/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 32) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.CloseNonModalDialog/CurrentTimeDialog.axaml.cs
class CurrentTimeDialog (line 7) | public partial class CurrentTimeDialog : Window
method CurrentTimeDialog (line 9) | public CurrentTimeDialog()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.CloseNonModalDialog/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 7) | public class CurrentTimeDialogViewModel : ViewModelBase
method CurrentTimeDialogViewModel (line 11) | public CurrentTimeDialogViewModel() =>
FILE: samples/Avalonia/Demo.CloseNonModalDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.CloseNonModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 21) | public MainWindowViewModel(IDialogService dialogService)
method ShowImpl (line 33) | private void ShowImpl()
method CloseImpl (line 39) | private void CloseImpl()
FILE: samples/Avalonia/Demo.CloseNonModalDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.CloseNonModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.CloseNonModalDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 32) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/CustomDialogFactory.cs
class CustomDialogFactory (line 17) | public class CustomDialogFactory(IDialogFactory? chain = null) : DialogF...
method ShowDialogAsync (line 20) | public override async Task<object?> ShowDialogAsync<TSettings>(IView? ...
method ShowOpenFolderDialogAsync (line 27) | private async Task<IReadOnlyList<IDialogStorageFolder>> ShowOpenFolder...
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/DialogFactoryExtensions.cs
class DialogFactoryExtensions (line 5) | public static class DialogFactoryExtensions
method AddCustomOpenFolder (line 7) | public static IDialogFactory AddCustomOpenFolder(this IDialogFactory f...
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 12) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method OpenFolderAsync (line 33) | private async Task OpenFolderAsync()
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.CustomOpenFolderDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.DialogHost/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 33) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.DialogHost/AskTextBoxView.axaml.cs
class AskTextBoxView (line 6) | public partial class AskTextBoxView : UserControl
method AskTextBoxView (line 8) | public AskTextBoxView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.DialogHost/AskTextBoxViewModel.cs
class AskTextBoxViewModel (line 9) | public partial class AskTextBoxViewModel : ViewModelBase, IModalDialogVi...
method OkImpl (line 23) | private void OkImpl()
method CancelImpl (line 32) | private void CancelImpl()
FILE: samples/Avalonia/Demo.DialogHost/CurrentTimeView.axaml.cs
class CurrentTimeView (line 6) | public partial class CurrentTimeView : UserControl
method CurrentTimeView (line 8) | public CurrentTimeView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.DialogHost/CurrentTimeViewModel.cs
class CurrentTimeViewModel (line 10) | public class CurrentTimeViewModel : ViewModelBase, IViewClosing
method CurrentTimeViewModel (line 18) | public CurrentTimeViewModel() =>
method OnClosing (line 24) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 32) | public Task OnClosingAsync(CancelEventArgs e) => Task.CompletedTask;
FILE: samples/Avalonia/Demo.DialogHost/DialogServiceExtensions.cs
class DialogServiceExtensions (line 13) | public static class DialogServiceExtensions
method AskTextAsync (line 15) | public static async Task<string?> AskTextAsync(this IDialogService ser...
FILE: samples/Avalonia/Demo.DialogHost/MainView.axaml.cs
class MainView (line 7) | public partial class MainView : Window
method MainView (line 9) | public MainView()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.DialogHost/MainViewModel.cs
class MainViewModel (line 10) | public partial class MainViewModel : ViewModelBase
method MainViewModel (line 14) | public MainViewModel(IDialogService dialogService)
method ShowViewModelImplAsync (line 34) | private async Task ShowViewModelImplAsync()
method AskTextImplAsync (line 52) | private async Task AskTextImplAsync()
method ShowMessageImplAsync (line 57) | private async Task ShowMessageImplAsync()
method ShowControlImplAsync (line 68) | private async Task ShowControlImplAsync()
method ConfirmCloseImplAsync (line 75) | private async Task ConfirmCloseImplAsync()
FILE: samples/Avalonia/Demo.DialogHost/MessageView.axaml.cs
class MessageView (line 6) | public partial class MessageView : UserControl
method MessageView (line 8) | public MessageView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.DialogHost/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.DialogHost/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.DialogHost/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.FluentContentDialog/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 34) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.FluentContentDialog/AskTextBoxView.axaml.cs
class AskTextBoxView (line 6) | public partial class AskTextBoxView : UserControl
method AskTextBoxView (line 8) | public AskTextBoxView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentContentDialog/AskTextBoxViewModel.cs
class AskTextBoxViewModel (line 6) | public partial class AskTextBoxViewModel : ViewModelBase
FILE: samples/Avalonia/Demo.FluentContentDialog/CurrentTimeView.axaml.cs
class CurrentTimeView (line 6) | public partial class CurrentTimeView : UserControl
method CurrentTimeView (line 8) | public CurrentTimeView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentContentDialog/CurrentTimeViewModel.cs
class CurrentTimeViewModel (line 10) | public class CurrentTimeViewModel : ViewModelBase, IViewClosing
method CurrentTimeViewModel (line 18) | public CurrentTimeViewModel() =>
method OnClosing (line 24) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 32) | public Task OnClosingAsync(CancelEventArgs e) => Task.CompletedTask;
FILE: samples/Avalonia/Demo.FluentContentDialog/MainView.axaml.cs
class MainView (line 7) | public partial class MainView : Window
method MainView (line 9) | public MainView()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.FluentContentDialog/MainViewModel.cs
class MainViewModel (line 11) | public partial class MainViewModel : ViewModelBase
method MainViewModel (line 19) | public MainViewModel(IDialogService dialogService)
method ShowMessageBoxImplAsync (line 32) | private async Task ShowMessageBoxImplAsync()
method UpdateResult (line 47) | private void UpdateResult(bool? result) =>
method AskTextImplAsync (line 50) | private async Task AskTextImplAsync()
method ShowViewModelImplAsync (line 69) | private async Task ShowViewModelImplAsync()
method ShowControlImplAsync (line 79) | private async Task ShowControlImplAsync()
FILE: samples/Avalonia/Demo.FluentContentDialog/MessageView.axaml.cs
class MessageView (line 6) | public partial class MessageView : UserControl
method MessageView (line 8) | public MessageView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentContentDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.FluentContentDialog/ViewLocator.cs
class ViewLocator (line 14) | public class ViewLocator : StrongViewLocator
method ViewLocator (line 16) | public ViewLocator()
FILE: samples/Avalonia/Demo.FluentContentDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 32) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method ShowMessageBoxWithMessage (line 36) | private async Task ShowMessageBoxWithMessage()
method ShowMessageBoxWithCaption (line 45) | private async Task ShowMessageBoxWithCaption()
method ShowMessageBoxWithButton (line 55) | private async Task ShowMessageBoxWithButton()
method ShowMessageBoxWithIcon (line 66) | private async Task ShowMessageBoxWithIcon()
method ShowMessageBoxWithDefaultResult (line 78) | private async Task ShowMessageBoxWithDefaultResult()
method UpdateResult (line 91) | private void UpdateResult(bool? result) =>
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.FluentMessageBoxContentDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 32) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method ShowMessageBoxWithMessage (line 36) | private async Task ShowMessageBoxWithMessage()
method ShowMessageBoxWithCaption (line 45) | private async Task ShowMessageBoxWithCaption()
method ShowMessageBoxWithButton (line 55) | private async Task ShowMessageBoxWithButton()
method ShowMessageBoxWithIcon (line 66) | private async Task ShowMessageBoxWithIcon()
method ShowMessageBoxWithDefaultResult (line 78) | private async Task ShowMessageBoxWithDefaultResult()
method UpdateResult (line 91) | private void UpdateResult(bool? result) =>
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.FluentMessageBoxTaskDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.FluentTaskDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 33) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.FluentTaskDialog/AskTextBoxView.axaml.cs
class AskTextBoxView (line 6) | public partial class AskTextBoxView : UserControl
method AskTextBoxView (line 8) | public AskTextBoxView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentTaskDialog/AskTextBoxViewModel.cs
class AskTextBoxViewModel (line 5) | public partial class AskTextBoxViewModel : ViewModelBase
FILE: samples/Avalonia/Demo.FluentTaskDialog/CurrentTimeView.axaml.cs
class CurrentTimeView (line 6) | public partial class CurrentTimeView : UserControl
method CurrentTimeView (line 8) | public CurrentTimeView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentTaskDialog/CurrentTimeViewModel.cs
class CurrentTimeViewModel (line 10) | public class CurrentTimeViewModel : ViewModelBase, IViewClosing
method CurrentTimeViewModel (line 18) | public CurrentTimeViewModel() =>
method OnClosing (line 24) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 32) | public Task OnClosingAsync(CancelEventArgs e) => Task.CompletedTask;
FILE: samples/Avalonia/Demo.FluentTaskDialog/MainView.axaml.cs
class MainView (line 7) | public partial class MainView : Window
method MainView (line 9) | public MainView()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.FluentTaskDialog/MainViewModel.cs
class MainViewModel (line 12) | public partial class MainViewModel : ViewModelBase
method MainViewModel (line 20) | public MainViewModel(IDialogService dialogService)
method ShowMessageBoxImplAsync (line 33) | private async Task ShowMessageBoxImplAsync()
method UpdateResult (line 50) | private void UpdateResult(bool? result) =>
method AskTextImplAsync (line 53) | private async Task AskTextImplAsync()
method ShowViewModelImplAsync (line 74) | private async Task ShowViewModelImplAsync()
method ShowControlImplAsync (line 88) | private async Task ShowControlImplAsync()
FILE: samples/Avalonia/Demo.FluentTaskDialog/MessageView.axaml.cs
class MessageView (line 6) | public partial class MessageView : UserControl
method MessageView (line 8) | public MessageView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.FluentTaskDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.FluentTaskDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.FluentTaskDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.Logging/AddTextDialog.axaml.cs
class AddTextDialog (line 7) | public partial class AddTextDialog : Window
method AddTextDialog (line 9) | public AddTextDialog()
method InitializeComponent (line 17) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.Logging/AddTextDialogViewModel.cs
class AddTextDialogViewModel (line 8) | public class AddTextDialogViewModel : ViewModelBase, IModalDialogViewMod...
method AddTextDialogViewModel (line 15) | public AddTextDialogViewModel()
method Ok (line 32) | private void Ok()
method Cancel (line 41) | public void Cancel()
FILE: samples/Avalonia/Demo.Logging/App.axaml.cs
class App (line 12) | public class App : Application
method Initialize (line 14) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 32) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.Logging/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 17) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.Logging/MainWindowViewModel.cs
class MainWindowViewModel (line 10) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialog (line 25) | private Task ImplicitShowDialog() =>
method ExplicitShowDialog (line 28) | private Task ExplicitShowDialog() =>
method ShowDialogAsync (line 31) | private async Task ShowDialogAsync(Func<AddTextDialogViewModel, Task<b...
FILE: samples/Avalonia/Demo.Logging/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.Logging/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.Logging/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.MessageBox/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.MessageBox/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.MessageBox/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method ShowMessageBoxWithMessage (line 36) | private async Task ShowMessageBoxWithMessage()
method ShowMessageBoxWithCaption (line 45) | private async Task ShowMessageBoxWithCaption()
method ShowMessageBoxWithButton (line 55) | private async Task ShowMessageBoxWithButton()
method ShowMessageBoxWithIcon (line 66) | private async Task ShowMessageBoxWithIcon()
method ShowMessageBoxWithDefaultResult (line 78) | private async Task ShowMessageBoxWithDefaultResult()
method UpdateResult (line 91) | private void UpdateResult(bool? result) =>
FILE: samples/Avalonia/Demo.MessageBox/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.MessageBox/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.MessageBox/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.ModalCustomDialog/AddTextCustomDialog.cs
class AddTextCustomDialog (line 10) | public class AddTextCustomDialog : IView
method Initialize (line 12) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 17) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 70) | public Task ShowDialogAsync(IView owner) => Ref.ShowDialog<bool?>((Win...
method Show (line 72) | public void Show(IView? owner) => Ref.Show((Window)owner!.RefObj);
method Activate (line 74) | public void Activate() => Ref.Activate();
method Close (line 76) | public void Close() => Ref.Close();
FILE: samples/Avalonia/Demo.ModalCustomDialog/AddTextCustomDialogViewModel.cs
class AddTextCustomDialogViewModel (line 8) | public class AddTextCustomDialogViewModel : ViewModelBase, IModalDialogV...
method AddTextCustomDialogViewModel (line 15) | public AddTextCustomDialogViewModel()
method Ok (line 32) | private void Ok()
method Cancel (line 41) | public void Cancel()
FILE: samples/Avalonia/Demo.ModalCustomDialog/AddTextDialog.axaml.cs
class AddTextDialog (line 7) | public partial class AddTextDialog : Window
method AddTextDialog (line 9) | public AddTextDialog()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ModalCustomDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.ModalCustomDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ModalCustomDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 10) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialog (line 25) | private Task ImplicitShowDialog() =>
method ExplicitShowDialog (line 28) | private Task ExplicitShowDialog() =>
method ShowDialogAsync (line 31) | private async Task ShowDialogAsync(Func<AddTextCustomDialogViewModel, ...
FILE: samples/Avalonia/Demo.ModalCustomDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.ModalCustomDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.ModalCustomDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.ModalDialog.Tests/MainWindowViewModelTests.cs
class MainWindowViewModelTests (line 11) | public class MainWindowViewModelTests
method ViewModelFactory (line 22) | private object? ViewModelFactory(Type type) => (type) switch
method ShowDialogCommand_InputValue_AddToList (line 28) | [Fact]
FILE: samples/Avalonia/Demo.ModalDialog/AddTextDialog.axaml.cs
class AddTextDialog (line 7) | public partial class AddTextDialog : Window
method AddTextDialog (line 9) | public AddTextDialog()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ModalDialog/AddTextDialogViewModel.cs
class AddTextDialogViewModel (line 8) | public class AddTextDialogViewModel : ViewModelBase, IModalDialogViewMod...
method AddTextDialogViewModel (line 15) | public AddTextDialogViewModel()
method Ok (line 32) | private void Ok()
method Cancel (line 41) | public void Cancel()
FILE: samples/Avalonia/Demo.ModalDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.ModalDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.ModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 10) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialog (line 25) | private Task ImplicitShowDialog() =>
method ExplicitShowDialog (line 28) | private Task ExplicitShowDialog() =>
method ShowDialogAsync (line 31) | private async Task ShowDialogAsync(Func<AddTextDialogViewModel, Task<b...
FILE: samples/Avalonia/Demo.ModalDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.ModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.ModalDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.NonModalCustomDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.NonModalCustomDialog/CurrentTimeCustomDialog.cs
class CurrentTimeCustomDialog (line 10) | public class CurrentTimeCustomDialog : IView
method Initialize (line 14) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 18) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 67) | public Task ShowDialogAsync(IView owner)
method Show (line 72) | public void Show(IView? owner) => _dialog.Show((Window)owner!.RefObj);
method Activate (line 74) | public void Activate() => _dialog.Activate();
method Close (line 76) | public void Close() => _dialog.Close();
FILE: samples/Avalonia/Demo.NonModalCustomDialog/CurrentTimeCustomDialogViewModel.cs
class CurrentTimeCustomDialogViewModel (line 7) | public class CurrentTimeCustomDialogViewModel : ViewModelBase
method CurrentTimeCustomDialogViewModel (line 11) | public CurrentTimeCustomDialogViewModel() =>
FILE: samples/Avalonia/Demo.NonModalCustomDialog/CurrentTimeDialog.axaml.cs
class CurrentTimeDialog (line 7) | public partial class CurrentTimeDialog : Window
method CurrentTimeDialog (line 9) | public CurrentTimeDialog()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.NonModalCustomDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.NonModalCustomDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 12) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShow (line 24) | private void ImplicitShow()
method ExplicitShow (line 29) | private void ExplicitShow()
method Show (line 34) | private void Show(Action<CurrentTimeCustomDialogViewModel> show)
FILE: samples/Avalonia/Demo.NonModalCustomDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.NonModalCustomDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.NonModalCustomDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.NonModalDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.NonModalDialog/CurrentTimeDialog.axaml.cs
class CurrentTimeDialog (line 7) | public partial class CurrentTimeDialog : Window
method CurrentTimeDialog (line 9) | public CurrentTimeDialog()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.NonModalDialog/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 7) | public class CurrentTimeDialogViewModel : ViewModelBase
method CurrentTimeDialogViewModel (line 11) | public CurrentTimeDialogViewModel() =>
FILE: samples/Avalonia/Demo.NonModalDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.NonModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 12) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShow (line 24) | private void ImplicitShow()
method ExplicitShow (line 29) | private void ExplicitShow()
method Show (line 34) | private void Show(Action<CurrentTimeDialogViewModel> show)
FILE: samples/Avalonia/Demo.NonModalDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.NonModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.NonModalDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.OpenFileDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.OpenFileDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.OpenFileDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 14) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 20) | public MainWindowViewModel(IDialogService dialogService)
method OpenFileAsync (line 31) | private async Task OpenFileAsync()
method OpenFilesAsync (line 42) | private async Task OpenFilesAsync()
method GetSettings (line 53) | private OpenFileDialogSettings GetSettings(bool multiple) => new()
FILE: samples/Avalonia/Demo.OpenFileDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.OpenFileDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.OpenFileDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.OpenFolderDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 30) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.OpenFolderDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.OpenFolderDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 11) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method OpenFolderAsync (line 32) | private async Task OpenFolderAsync()
FILE: samples/Avalonia/Demo.OpenFolderDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.OpenFolderDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.OpenFolderDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.SaveFileDialog/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.SaveFileDialog/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.SaveFileDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 12) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method SaveFileAsync (line 33) | private async Task SaveFileAsync()
FILE: samples/Avalonia/Demo.SaveFileDialog/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.SaveFileDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.SaveFileDialog/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.StrongLocator/AddTextDialog.axaml.cs
class AddTextDialog (line 7) | public partial class AddTextDialog : Window
method AddTextDialog (line 9) | public AddTextDialog()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.StrongLocator/AddTextDialogViewModel.cs
class AddTextDialogViewModel (line 8) | public class AddTextDialogViewModel : ViewModelBase, IModalDialogViewMod...
method AddTextDialogViewModel (line 15) | public AddTextDialogViewModel()
method Ok (line 32) | private void Ok()
method Cancel (line 41) | public void Cancel()
FILE: samples/Avalonia/Demo.StrongLocator/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 35) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.StrongLocator/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent()
FILE: samples/Avalonia/Demo.StrongLocator/MainWindowViewModel.cs
class MainWindowViewModel (line 10) | public class MainWindowViewModel : ViewModelBase
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialog (line 25) | private Task ImplicitShowDialog() =>
method ExplicitShowDialog (line 28) | private Task ExplicitShowDialog() =>
method ShowDialogAsync (line 31) | private async Task ShowDialogAsync(Func<AddTextDialogViewModel, Task<b...
FILE: samples/Avalonia/Demo.StrongLocator/Program.cs
class Program (line 7) | class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.StrongLocator/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : StrongViewLocator
method ViewLocator (line 10) | public ViewLocator()
FILE: samples/Avalonia/Demo.StrongLocator/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Avalonia/Demo.ViewEvents/App.axaml.cs
class App (line 11) | public class App : Application
method Initialize (line 13) | public override void Initialize()
method OnFrameworkInitializationCompleted (line 31) | public override void OnFrameworkInitializationCompleted()
FILE: samples/Avalonia/Demo.ViewEvents/MainWindow.axaml.cs
class MainWindow (line 7) | public partial class MainWindow : Window
method MainWindow (line 9) | public MainWindow()
method InitializeComponent (line 14) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: samples/Avalonia/Demo.ViewEvents/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel(IDialogService dialogService) : ViewMod...
method OnLoaded (line 12) | public void OnLoaded()
method OnClosing (line 17) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 22) | public async Task OnClosingAsync(CancelEventArgs e)
method OnClosed (line 28) | public async void OnClosed()
FILE: samples/Avalonia/Demo.ViewEvents/Program.cs
class Program (line 7) | public class Program
method Main (line 12) | [STAThread]
method BuildAvaloniaApp (line 17) | public static AppBuilder BuildAvaloniaApp()
FILE: samples/Avalonia/Demo.ViewEvents/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Avalonia/Demo.ViewEvents/ViewModelBase.cs
class ViewModelBase (line 5) | public class ViewModelBase : ReactiveObject
FILE: samples/Wpf/Demo.ActivateNonModalDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.ActivateNonModalDialog/CurrentTimeDialog.xaml.cs
class CurrentTimeDialog (line 3) | public partial class CurrentTimeDialog
method CurrentTimeDialog (line 5) | public CurrentTimeDialog()
FILE: samples/Wpf/Demo.ActivateNonModalDialog/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 9) | public class CurrentTimeDialogViewModel : ObservableObject
method CurrentTimeDialogViewModel (line 14) | public CurrentTimeDialogViewModel()
method StartClock (line 23) | private void StartClock()
method OnTick (line 32) | private void OnTick(object? sender, EventArgs e)
FILE: samples/Wpf/Demo.ActivateNonModalDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.ActivateNonModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 14) | public MainWindowViewModel(IDialogService dialogService)
method Show (line 26) | private void Show()
method CanShow (line 35) | private bool CanShow()
method Activate (line 40) | private void Activate()
method CanActivate (line 45) | private bool CanActivate()
FILE: samples/Wpf/Demo.ActivateNonModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.ActivateNonModalDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.CloseNonModalDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.CloseNonModalDialog/CurrentTimeDialog.xaml.cs
class CurrentTimeDialog (line 3) | public partial class CurrentTimeDialog
method CurrentTimeDialog (line 5) | public CurrentTimeDialog()
FILE: samples/Wpf/Demo.CloseNonModalDialog/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 9) | public class CurrentTimeDialogViewModel : ObservableObject
method CurrentTimeDialogViewModel (line 14) | public CurrentTimeDialogViewModel()
method StartClock (line 23) | private void StartClock()
method OnTick (line 32) | private void OnTick(object? sender, EventArgs e)
FILE: samples/Wpf/Demo.CloseNonModalDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.CloseNonModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 14) | public MainWindowViewModel(IDialogService dialogService)
method Show (line 26) | private void Show()
method CanShow (line 35) | private bool CanShow()
method Close (line 40) | private void Close()
method CanClose (line 49) | private bool CanClose()
FILE: samples/Wpf/Demo.CloseNonModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.CloseNonModalDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/CustomDialogFactory.cs
class CustomDialogFactory (line 17) | public class CustomDialogFactory(IDialogFactory? chain = null) : DialogF...
method ShowDialogAsync (line 20) | public override async Task<object?> ShowDialogAsync<TSettings>(ViewWra...
method ShowDialog (line 28) | public override object? ShowDialog<TSettings>(ViewWrapper? owner, TSet...
method ShowOpenFolderDialog (line 35) | private IDialogStorageFolder[] ShowOpenFolderDialog(ViewWrapper? owner...
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/DialogFactoryExtensions.cs
class DialogFactoryExtensions (line 6) | public static class DialogFactoryExtensions
method AddCustomOpenFolder (line 8) | public static IDialogFactory AddCustomOpenFolder(this IDialogFactory f...
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 13) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 19) | public MainWindowViewModel(IDialogService dialogService)
method OpenFolderAsync (line 34) | private async Task OpenFolderAsync()
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.CustomOpenFolderDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.MessageBox/App.xaml.cs
class App (line 10) | public partial class App : Application
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.MessageBox/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.MessageBox/MainWindowViewModel.cs
class MainWindowViewModel (line 11) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 17) | public MainWindowViewModel(IDialogService dialogService)
method Show (line 34) | private Task Show(Action action, Func<Task> asyncAction)
method ShowWithMessageImpl (line 64) | private void ShowWithMessageImpl()
method ShowWithMessageImplAsync (line 73) | private async Task ShowWithMessageImplAsync()
method ShowWithCaptionImpl (line 82) | private void ShowWithCaptionImpl()
method ShowWithCaptionImplAsync (line 91) | private async Task ShowWithCaptionImplAsync()
method ShowWithButtonImpl (line 100) | private void ShowWithButtonImpl()
method ShowWithButtonImplAsync (line 110) | private async Task ShowWithButtonImplAsync()
method ShowWithIconImpl (line 120) | private void ShowWithIconImpl()
method ShowWithIconImplAsync (line 130) | private async Task ShowWithIconImplAsync()
method ShowWithDefaultResultImpl (line 140) | private void ShowWithDefaultResultImpl()
method ShowWithDefaultResultImplAsync (line 150) | private async Task ShowWithDefaultResultImplAsync()
method UpdateResult (line 160) | private void UpdateResult(bool? result)
FILE: samples/Wpf/Demo.MessageBox/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.MessageBox/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.ModalCustomDialog/AddTextCustomDialog.cs
class AddTextCustomDialog (line 9) | public class AddTextCustomDialog : IView, IViewSync
method Initialize (line 15) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 20) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 55) | public Task ShowDialogAsync(IView owner) => UiExtensions.RunUiAsync(()...
method ShowDialog (line 57) | public void ShowDialog(IView owner)
method Show (line 63) | public void Show(IView? owner)
method Activate (line 69) | public void Activate() => _dialog.Activate();
method Close (line 71) | public void Close() => _dialog.Close();
FILE: samples/Wpf/Demo.ModalCustomDialog/AddTextCustomDialogViewModel.cs
class AddTextCustomDialogViewModel (line 9) | public class AddTextCustomDialogViewModel : ObservableObject, IModalDial...
method AddTextCustomDialogViewModel (line 15) | public AddTextCustomDialogViewModel()
method Ok (line 34) | private void Ok()
FILE: samples/Wpf/Demo.ModalCustomDialog/AddTextDialog.xaml.cs
class AddTextDialog (line 3) | public partial class AddTextDialog
method AddTextDialog (line 5) | public AddTextDialog()
FILE: samples/Wpf/Demo.ModalCustomDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.ModalCustomDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.ModalCustomDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 11) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 15) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialogAsync (line 29) | private Task ImplicitShowDialogAsync() =>
method ExplicitShowDialogAsync (line 32) | private Task ExplicitShowDialogAsync() =>
method ShowDialogAsync (line 35) | private async Task ShowDialogAsync(Func<AddTextCustomDialogViewModel, ...
FILE: samples/Wpf/Demo.ModalCustomDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.ModalCustomDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.ModalDialog.Tests/MainWindowViewModelTests.cs
class MainWindowViewModelTests (line 11) | public class MainWindowViewModelTests
method ViewModelFactory (line 22) | private object? ViewModelFactory(Type type) => (type) switch
method ShowDialogCommand_InputValue_AddToList (line 28) | [Fact]
FILE: samples/Wpf/Demo.ModalDialog/AddTextDialog.xaml.cs
class AddTextDialog (line 3) | public partial class AddTextDialog
method AddTextDialog (line 5) | public AddTextDialog()
FILE: samples/Wpf/Demo.ModalDialog/AddTextDialogViewModel.cs
class AddTextDialogViewModel (line 9) | public class AddTextDialogViewModel : ObservableObject, IModalDialogView...
method AddTextDialogViewModel (line 14) | public AddTextDialogViewModel()
method Ok (line 35) | private void Ok()
FILE: samples/Wpf/Demo.ModalDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.ModalDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.ModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 11) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 15) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialogAsync (line 29) | private Task ImplicitShowDialogAsync() =>
method ExplicitShowDialogAsync (line 32) | private Task ExplicitShowDialogAsync() =>
method ShowDialogAsync (line 35) | private async Task ShowDialogAsync(Func<AddTextDialogViewModel, Task<b...
FILE: samples/Wpf/Demo.ModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.ModalDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.NonModalCustomDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.NonModalCustomDialog/CurrentTimeCustomDialog.cs
class CurrentTimeCustomDialog (line 9) | public class CurrentTimeCustomDialog : IView, IViewSync
method Initialize (line 15) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 20) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 55) | public Task ShowDialogAsync(IView owner) => UiExtensions.RunUiAsync(()...
method ShowDialog (line 57) | public void ShowDialog(IView owner)
method Show (line 63) | public void Show(IView? owner)
method Activate (line 69) | public void Activate() => _dialog.Activate();
method Close (line 71) | public void Close() => _dialog.Close();
FILE: samples/Wpf/Demo.NonModalCustomDialog/CurrentTimeCustomDialogViewModel.cs
class CurrentTimeCustomDialogViewModel (line 9) | public class CurrentTimeCustomDialogViewModel : ObservableObject
method CurrentTimeCustomDialogViewModel (line 14) | public CurrentTimeCustomDialogViewModel()
method StartClock (line 23) | private void StartClock()
method OnTick (line 32) | private void OnTick(object? sender, EventArgs e)
FILE: samples/Wpf/Demo.NonModalCustomDialog/CurrentTimeDialog.xaml.cs
class CurrentTimeDialog (line 3) | public partial class CurrentTimeDialog
method CurrentTimeDialog (line 5) | public CurrentTimeDialog()
FILE: samples/Wpf/Demo.NonModalCustomDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.NonModalCustomDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 13) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShow (line 25) | private void ImplicitShow()
method ExplicitShow (line 30) | private void ExplicitShow()
method Show (line 35) | private void Show(Action<CurrentTimeCustomDialogViewModel> show)
FILE: samples/Wpf/Demo.NonModalCustomDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.NonModalCustomDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.NonModalDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.NonModalDialog/CurrentTimeDialog.xaml.cs
class CurrentTimeDialog (line 3) | public partial class CurrentTimeDialog
method CurrentTimeDialog (line 5) | public CurrentTimeDialog()
FILE: samples/Wpf/Demo.NonModalDialog/CurrentTimeDialogViewModel.cs
class CurrentTimeDialogViewModel (line 9) | public class CurrentTimeDialogViewModel : ObservableObject
method CurrentTimeDialogViewModel (line 14) | public CurrentTimeDialogViewModel()
method StartClock (line 23) | private void StartClock()
method OnTick (line 32) | private void OnTick(object? sender, EventArgs e)
FILE: samples/Wpf/Demo.NonModalDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.NonModalDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 9) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 13) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShow (line 25) | private void ImplicitShow()
method ExplicitShow (line 30) | private void ExplicitShow()
method Show (line 35) | private void Show(Action<CurrentTimeDialogViewModel> show)
FILE: samples/Wpf/Demo.NonModalDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.NonModalDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.OpenFileDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.OpenFileDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.OpenFileDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 16) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 22) | public MainWindowViewModel(IDialogService dialogService)
method OpenFileImpl (line 44) | private void OpenFileImpl(INotifyPropertyChanged? owner)
method OpenFilesImpl (line 55) | private void OpenFilesImpl(INotifyPropertyChanged? owner)
method OpenFileImplAsync (line 66) | private async Task OpenFileImplAsync(INotifyPropertyChanged? owner)
method OpenFilesImplAsync (line 77) | private async Task OpenFilesImplAsync(INotifyPropertyChanged? owner)
method GetSettings (line 88) | private static OpenFileDialogSettings GetSettings(bool multiple) => new()
FILE: samples/Wpf/Demo.OpenFileDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.OpenFileDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.OpenFolderDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.OpenFolderDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.OpenFolderDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 14) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 18) | public MainWindowViewModel(IDialogService dialogService)
method OpenFolderImpl (line 44) | private void OpenFolderImpl(INotifyPropertyChanged? owner)
method OpenFolderImplAsync (line 56) | private async Task OpenFolderImplAsync(INotifyPropertyChanged? owner)
FILE: samples/Wpf/Demo.OpenFolderDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.OpenFolderDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.SaveFileDialog/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.SaveFileDialog/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.SaveFileDialog/MainWindowViewModel.cs
class MainWindowViewModel (line 15) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 19) | public MainWindowViewModel(IDialogService dialogService)
method SaveFileImpl (line 44) | private void SaveFileImpl(INotifyPropertyChanged? owner)
method SaveFileImplAsync (line 61) | private async Task SaveFileImplAsync(INotifyPropertyChanged? owner)
FILE: samples/Wpf/Demo.SaveFileDialog/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.SaveFileDialog/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.StrongLocator/AddTextDialog.xaml.cs
class AddTextDialog (line 3) | public partial class AddTextDialog
method AddTextDialog (line 5) | public AddTextDialog()
FILE: samples/Wpf/Demo.StrongLocator/AddTextDialogViewModel.cs
class AddTextDialogViewModel (line 9) | public class AddTextDialogViewModel : ObservableObject, IModalDialogView...
method AddTextDialogViewModel (line 14) | public AddTextDialogViewModel()
method Ok (line 35) | private void Ok()
FILE: samples/Wpf/Demo.StrongLocator/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.StrongLocator/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.StrongLocator/MainWindowViewModel.cs
class MainWindowViewModel (line 11) | public class MainWindowViewModel : ObservableObject
method MainWindowViewModel (line 15) | public MainWindowViewModel(IDialogService dialogService)
method ImplicitShowDialogAsync (line 29) | private Task ImplicitShowDialogAsync() =>
method ExplicitShowDialogAsync (line 32) | private Task ExplicitShowDialogAsync() =>
method ShowDialogAsync (line 35) | private async Task ShowDialogAsync(Func<AddTextDialogViewModel, Task<b...
FILE: samples/Wpf/Demo.StrongLocator/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : StrongViewLocator
method ViewLocator (line 10) | public ViewLocator()
FILE: samples/Wpf/Demo.StrongLocator/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/Demo.ViewEvents/App.xaml.cs
class App (line 10) | public partial class App
method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
FILE: samples/Wpf/Demo.ViewEvents/MainWindow.xaml.cs
class MainWindow (line 3) | public partial class MainWindow
method MainWindow (line 5) | public MainWindow()
FILE: samples/Wpf/Demo.ViewEvents/MainWindowViewModel.cs
class MainWindowViewModel (line 8) | public class MainWindowViewModel : ObservableObject, IViewLoaded, IViewC...
method MainWindowViewModel (line 12) | public MainWindowViewModel(IDialogService dialogService)
method OnClosed (line 24) | public void OnClosed()
method OnClosing (line 29) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 34) | public async Task OnClosingAsync(CancelEventArgs e)
method OnLoaded (line 40) | public void OnLoaded()
FILE: samples/Wpf/Demo.ViewEvents/ViewLocator.cs
class ViewLocator (line 8) | public class ViewLocator : ViewLocatorBase
method GetViewName (line 11) | protected override string GetViewName(object viewModel) => viewModel.G...
FILE: samples/Wpf/Demo.ViewEvents/ViewModelLocator.cs
class ViewModelLocator (line 9) | public class ViewModelLocator
FILE: samples/Wpf/TestBaseClasses/Features/FeatureSteps.cs
class FeatureSteps (line 16) | public abstract class FeatureSteps<T> where T : AppScreen
method InitialBeforeScenario (line 24) | [BeforeScenario]
method InitialAfterScenario (line 32) | [AfterScenario]
method LaunchApplication (line 43) | protected abstract Application LaunchApplication();
method GetMainScreen (line 45) | protected abstract T GetMainScreen(ScreenRepository screenRepository);
method TakeScreenshot (line 47) | private static void TakeScreenshot()
FILE: src/MvvmDialogs.Avalonia.DialogHost/DialogFactoryExtensions.cs
class DialogFactoryExtensions (line 11) | public static class DialogFactoryExtensions
method AddDialogHost (line 18) | public static IDialogFactory AddDialogHost(this IDialogFactory factory...
FILE: src/MvvmDialogs.Avalonia.DialogHost/DialogHostDialogFactory.cs
class DialogHostDialogFactory (line 6) | public class DialogHostDialogFactory : DialogFactoryBase
method DialogHostDialogFactory (line 12) | public DialogHostDialogFactory(IDialogFactory? chain = null)
method ShowDialogAsync (line 18) | public override async Task<object?> ShowDialogAsync<TSettings>(IView? ...
method ShowDialogHostAsync (line 26) | private async Task<object?> ShowDialogHostAsync(IView? owner, DialogHo...
FILE: src/MvvmDialogs.Avalonia.DialogHost/DialogHostSettings.cs
class DialogHostSettings (line 10) | public class DialogHostSettings : DialogSettingsBase
method DialogHostSettings (line 15) | public DialogHostSettings()
method DialogHostSettings (line 23) | public DialogHostSettings(object? content)
FILE: src/MvvmDialogs.Avalonia.DialogHost/DialogHostView.cs
class DialogHostView (line 10) | public class DialogHostView : IView
method DialogHostView (line 18) | public DialogHostView(DialogHostSettings settings)
method Initialize (line 34) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 38) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method Show (line 53) | public void Show(IView? owner) => throw new NotImplementedException();
method InitHost (line 58) | private DialogHostAvalonia.DialogHost InitHost(ContentControl owner)
method ShowDialogAsync (line 83) | public async Task ShowDialogAsync(IView owner)
method Host_DialogOpened (line 119) | private void Host_DialogOpened(object sender, EventArgs e)
method Activate (line 125) | public void Activate()
method Close (line 129) | public void Close()
FILE: src/MvvmDialogs.Avalonia.DialogHost/DialogServiceExtensions.cs
class DialogServiceExtensions (line 11) | public static class DialogServiceExtensions
method ShowDialogHostAsync (line 21) | public static async Task<object?> ShowDialogHostAsync(this IDialogServ...
FILE: src/MvvmDialogs.Avalonia.Fluent/ContentDialogSettings.cs
class ContentDialogSettings (line 7) | public class ContentDialogSettings : DialogSettingsBase
method ContentDialogSettings (line 12) | public ContentDialogSettings() { }
method ContentDialogSettings (line 18) | public ContentDialogSettings(object? content)
FILE: src/MvvmDialogs.Avalonia.Fluent/DialogFactoryExtensions.cs
class DialogFactoryExtensions (line 9) | public static class DialogFactoryExtensions
method AddFluent (line 17) | public static IDialogFactory AddFluent(this IDialogFactory factory, Fl...
FILE: src/MvvmDialogs.Avalonia.Fluent/DialogServiceExtensions.cs
class DialogServiceExtensions (line 10) | public static class DialogServiceExtensions
method ShowContentDialogAsync (line 20) | public static async Task<FAContentDialogResult> ShowContentDialogAsync...
method ShowTaskDialogAsync (line 37) | public static async Task<FATaskDialogStandardResult> ShowTaskDialogAsy...
FILE: src/MvvmDialogs.Avalonia.Fluent/FluentContentView.cs
class FluentContentView (line 9) | public class FluentContentView : IView
method FluentContentView (line 15) | public FluentContentView(ContentDialogSettings settings)
method Initialize (line 31) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 35) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method Show (line 54) | public void Show(IView? owner) => throw new NotImplementedException();
method ShowDialogAsync (line 57) | public async Task ShowDialogAsync(IView owner)
method Activate (line 94) | public void Activate()
method Close (line 98) | public void Close()
FILE: src/MvvmDialogs.Avalonia.Fluent/FluentDialogFactory.cs
class FluentDialogFactory (line 10) | public class FluentDialogFactory : DialogFactoryBase
method FluentDialogFactory (line 19) | public FluentDialogFactory(FluentMessageBoxType messageBoxType = Fluen...
method ShowDialogAsync (line 26) | public override async Task<object?> ShowDialogAsync<TSettings>(IView? ...
method ShowContentDialogAsync (line 37) | private async Task<FAContentDialogResult> ShowContentDialogAsync(IView...
method ShowTaskDialogAsync (line 50) | private async Task<object?> ShowTaskDialogAsync(IView? owner, TaskDial...
method ShowMessageBoxContentDialogAsync (line 63) | private async Task<bool?> ShowMessageBoxContentDialogAsync(IView? owne...
method ShowMessageBoxTaskDialogAsync (line 100) | private async Task<bool?> ShowMessageBoxTaskDialogAsync(IView? owner, ...
method SyncButton (line 115) | private static FATaskDialogButton[] SyncButton(MessageBoxButton value,...
method GetButton (line 140) | private static FATaskDialogButton GetButton(string text, bool? value, ...
FILE: src/MvvmDialogs.Avalonia.Fluent/FluentMessageBoxType.cs
type FluentMessageBoxType (line 7) | public enum FluentMessageBoxType
FILE: src/MvvmDialogs.Avalonia.Fluent/FluentTaskView.cs
class FluentTaskView (line 10) | public class FluentTaskView(TaskDialogSettings settings) : IView
method Initialize (line 23) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 27) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method Show (line 46) | public void Show(IView? owner) => throw new NotImplementedException();
method ShowDialogAsync (line 49) | public async Task ShowDialogAsync(IView owner)
method Activate (line 94) | public void Activate()
method Close (line 98) | public void Close()
FILE: src/MvvmDialogs.Avalonia.Fluent/TaskDialogSettings.cs
class TaskDialogSettings (line 9) | public class TaskDialogSettings : DialogSettingsBase
method TaskDialogSettings (line 14) | public TaskDialogSettings() { }
method TaskDialogSettings (line 20) | public TaskDialogSettings(object? content)
FILE: src/MvvmDialogs.Avalonia.MessageBox/DialogFactoryExtensions.cs
class DialogFactoryExtensions (line 10) | public static class DialogFactoryExtensions
method AddMessageBox (line 18) | public static IDialogFactory AddMessageBox(this IDialogFactory factory...
FILE: src/MvvmDialogs.Avalonia.MessageBox/IMessageBoxApi.cs
type IMessageBoxApi (line 3) | internal interface IMessageBoxApi
method ShowMessageBoxAsync (line 5) | Task<ButtonResult> ShowMessageBoxAsync(Window? owner, MessageBoxApiSet...
FILE: src/MvvmDialogs.Avalonia.MessageBox/MessageBoxApi.cs
class MessageBoxApi (line 5) | internal class MessageBoxApi : IMessageBoxApi
method ShowMessageBoxAsync (line 7) | public Task<ButtonResult> ShowMessageBoxAsync(Window? owner, MessageBo...
FILE: src/MvvmDialogs.Avalonia.MessageBox/MessageBoxApiSettings.cs
class MessageBoxApiSettings (line 4) | internal class MessageBoxApiSettings
FILE: src/MvvmDialogs.Avalonia.MessageBox/MessageBoxDialogFactory.cs
class MessageBoxDialogFactory (line 10) | public class MessageBoxDialogFactory : DialogFactoryBase
method MessageBoxDialogFactory (line 23) | public MessageBoxDialogFactory(IDialogFactory? chain = null)
method MessageBoxDialogFactory (line 33) | internal MessageBoxDialogFactory(IDialogFactory? chain, IMessageBoxApi...
method ShowDialogAsync (line 40) | public override async Task<object?> ShowDialogAsync<TSettings>(IView? ...
method ShowMessageBoxDialogAsync (line 47) | private async Task<bool?> ShowMessageBoxDialogAsync(IView? owner, Mess...
method SyncButton (line 80) | private static ButtonEnum SyncButton(MessageBoxButton value) =>
method SyncIcon (line 90) | private static Icon SyncIcon(MessageBoxImage value) =>
method SyncDefaultEnter (line 102) | private static ClickEnum SyncDefaultEnter(MessageBoxButton buttons, bo...
method SyncDefaultEsc (line 117) | private static ClickEnum SyncDefaultEsc(MessageBoxButton buttons) =>
FILE: src/MvvmDialogs.Avalonia.MessageBox/MessageBoxMode.cs
type MessageBoxMode (line 6) | public enum MessageBoxMode
FILE: src/MvvmDialogs.Avalonia.Tests/NavigationTests.cs
class NavigationTests (line 6) | public class NavigationTests
method Constructor_CurrentViewNull (line 16) | [Fact]
method Show_First_CurrentViewSet (line 24) | [Fact]
method Show_Second_CurrentViewSet (line 35) | [Fact]
method Show_FirstSecond_HistoryContainsFirstSecond (line 48) | [Fact]
method Show_FirstSecondFirst_HistoryContainsSecondFirst (line 62) | [Fact]
method Show_CloseSecond_CurrentViewSet (line 77) | [Fact]
method Show_SecondAndGarbageCollect_FirstReleased (line 91) | [Fact]
method ShowDialogAsync_SecondAndGarbageCollect_FirstReleased (line 109) | [Fact]
method Activate_NotShown_DoNothing (line 125) | [Fact]
method Activate_AlreadyActive_CurrentViewRemainsSame (line 135) | [Fact]
method Activate_FirstSecondFirst_CurrentViewFirst (line 147) | [Fact]
method ShowDialogAsync_Second_ReturnsValue (line 163) | [Theory]
method ShowDialogAsync_Second_WaitUntilClosed (line 183) | [Fact]
method ShowDialogAsync_RecursiveDialogs_WaitUntilClosed (line 200) | [Fact]
method ShowDialogAsync_Second_AddToHistory (line 222) | [Fact]
method ShowDialogAsync_OwnerFirst_ShowFirstAfterClose (line 236) | [Fact]
method Show_TwiceWithinDialog_AddOneHistory (line 254) | [Fact]
method Close_Normal_ClosingClosedRaised (line 275) | [Fact]
method Close_Cancelled_ClosingAsyncRaised (line 290) | [Fact]
method Close_CancelledAndReset_ClosedRaised (line 309) | [Fact]
method Close_3Times_RaiseClosingOnce (line 329) | [Fact]
FILE: src/MvvmDialogs.Avalonia.Tests/TestsBase.cs
class TestsBase (line 8) | public class TestsBase
method TestsBase (line 12) | public TestsBase(ITestOutputHelper output) => Output = output;
method Init (line 17) | protected T Init<T>(Func<T> func) => func();
method Init (line 25) | protected T Init<T>(Action<T> action)
method InitMock (line 39) | protected Mock<T> InitMock<T>(Action<Mock<T>> action)
FILE: src/MvvmDialogs.Avalonia.Tests/ViewNavigationWrapperTests.cs
class ViewNavigationWrapperTests (line 10) | public class ViewNavigationWrapperTests
method CreateView (line 15) | public ViewNavigationWrapper CreateView(bool existing)
method Initialize_ViewModelSet (line 37) | [Theory]
method Initialize_IsEnabledTrue (line 47) | [Theory]
method Initialize_IsVisibleFalse (line 57) | [Theory]
method Initialize_RefDoesNotThrowError (line 67) | [Theory]
method Show_NoOwner_RefSetAndEnabledVisible (line 78) | [Theory]
method ShowDialog_WithOwner_RefSetAndEnabledVisible (line 93) | [Theory]
method Show_Close_ClosingAndClosedRaised (line 111) | [Theory]
method Activate_NotFound_DoNotShow (line 125) | [Theory]
method Activate_FromHistory_ShowAndRaiseLoaded (line 138) | [Theory]
method Activate_AlreadyVisible_DoNotRaiseLoaded (line 158) | [Theory]
FILE: src/MvvmDialogs.Avalonia.Tests/Views/FirstView.axaml.cs
class FirstView (line 6) | public partial class FirstView : UserControl
method FirstView (line 8) | public FirstView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia.Tests/Views/FirstViewModel.cs
class FirstViewModel (line 6) | public class FirstViewModel : ReactiveObject, ICloseable, IActivable, IV...
method OnRequestClose (line 11) | public void OnRequestClose() => RequestClose?.Invoke(this, EventArgs.E...
method OnRequestActivate (line 13) | public void OnRequestActivate() => RequestActivate?.Invoke(this, Event...
method ResetCounters (line 19) | public void ResetCounters()
method OnLoaded (line 26) | public virtual void OnLoaded() => LoadedCount++;
method OnClosing (line 27) | public virtual void OnClosing(CancelEventArgs e) => ClosingCount++;
method OnClosingAsync (line 28) | public virtual Task OnClosingAsync(CancelEventArgs e) => Task.Complete...
method OnClosed (line 29) | public virtual void OnClosed() => ClosedCount++;
FILE: src/MvvmDialogs.Avalonia.Tests/Views/FirstWindow.axaml.cs
class FirstWindow (line 6) | public partial class FirstWindow : Window
method FirstWindow (line 8) | public FirstWindow()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia.Tests/Views/SecondView.axaml.cs
class SecondView (line 6) | public partial class SecondView : UserControl
method SecondView (line 8) | public SecondView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia.Tests/Views/SecondViewModel.cs
class SecondViewModel (line 6) | public class SecondViewModel : ReactiveObject, ICloseable, IActivable, I...
method OnRequestClose (line 11) | public void OnRequestClose() => RequestClose?.Invoke(this, EventArgs.E...
method OnRequestActivate (line 13) | public void OnRequestActivate() => RequestActivate?.Invoke(this, Event...
method OnClosing (line 23) | public void OnClosing(CancelEventArgs e)
method OnClosingAsync (line 29) | public Task OnClosingAsync(CancelEventArgs e)
method OnClosed (line 36) | public void OnClosed() => ClosedRaised++;
FILE: src/MvvmDialogs.Avalonia.Tests/Views/SecondWindow.axaml.cs
class SecondWindow (line 6) | public partial class SecondWindow : Window
method SecondWindow (line 8) | public SecondWindow()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia.Tests/Views/ThirdView.axaml.cs
class ThirdView (line 6) | public partial class ThirdView : UserControl
method ThirdView (line 8) | public ThirdView()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia.Tests/Views/ThirdViewModel.cs
class ThirdViewModel (line 5) | public class ThirdViewModel : ReactiveObject, ICloseable, IActivable, IM...
method OnRequestClose (line 10) | public void OnRequestClose() => RequestClose?.Invoke(this, EventArgs.E...
method OnRequestActivate (line 12) | public void OnRequestActivate() => RequestActivate?.Invoke(this, Event...
FILE: src/MvvmDialogs.Avalonia.Tests/Views/ThirdWindow.axaml.cs
class ThirdWindow (line 6) | public partial class ThirdWindow : Window
method ThirdWindow (line 8) | public ThirdWindow()
method InitializeComponent (line 13) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia/Api/FrameworkDialogsApi.cs
class FrameworkDialogsApi (line 9) | internal class FrameworkDialogsApi : IFrameworkDialogsApi
method ShowOpenFileDialogAsync (line 11) | public async Task<IReadOnlyList<IDialogStorageFile>> ShowOpenFileDialo...
method ShowSaveFileDialogAsync (line 18) | public async Task<IDialogStorageFile?> ShowSaveFileDialogAsync(Content...
method ShowOpenFolderDialogAsync (line 25) | public async Task<IReadOnlyList<IDialogStorageFolder>> ShowOpenFolderD...
method GetStorage (line 32) | private static IStorageProvider GetStorage(ContentControl owner) => To...
FILE: src/MvvmDialogs.Avalonia/Api/IFrameworkDialogsApi.cs
type IFrameworkDialogsApi (line 11) | internal interface IFrameworkDialogsApi
method ShowOpenFileDialogAsync (line 13) | Task<IReadOnlyList<IDialogStorageFile>> ShowOpenFileDialogAsync(Conten...
method ShowSaveFileDialogAsync (line 14) | Task<IDialogStorageFile?> ShowSaveFileDialogAsync(ContentControl? owne...
method ShowOpenFolderDialogAsync (line 15) | Task<IReadOnlyList<IDialogStorageFolder>> ShowOpenFolderDialogAsync(Co...
FILE: src/MvvmDialogs.Avalonia/DialogFactory.cs
class DialogFactory (line 13) | public class DialogFactory : DialogFactoryBase
method DialogFactory (line 22) | public DialogFactory(IDialogFactory? chain = null)
method DialogFactory (line 32) | internal DialogFactory(IDialogFactory? chain, IFrameworkDialogsApi? api)
method ShowDialogAsync (line 40) | public override async Task<object?> ShowDialogAsync<TSettings>(IView? ...
method ShowOpenFolderDialogAsync (line 49) | private async Task<IReadOnlyList<IDialogStorageFolder>> ShowOpenFolder...
method ShowOpenFileDialogAsync (line 60) | private async Task<IReadOnlyList<IDialogStorageFile>> ShowOpenFileDial...
method ShowSaveFileDialogAsync (line 74) | private async Task<IDialogStorageFile?> ShowSaveFileDialogAsync(IView?...
method AddSharedSettingsAsync (line 95) | private async Task AddSharedSettingsAsync(PickerOptions d, PickerDialo...
method SyncFilters (line 109) | private static List<FilePickerFileType> SyncFilters(IList<FileFilter> ...
FILE: src/MvvmDialogs.Avalonia/DialogFactoryBase.cs
class DialogFactoryBase (line 9) | public abstract class DialogFactoryBase : IDialogFactory
method DialogFactoryBase (line 24) | protected DialogFactoryBase(IDialogFactory? chain)
method ShowDialogAsync (line 39) | public virtual async Task<object?> ShowDialogAsync<TSettings>(IView? o...
method GetDialogManager (line 49) | public IDialogManager GetDialogManager() =>
FILE: src/MvvmDialogs.Avalonia/DialogManager.cs
class DialogManager (line 14) | public class DialogManager : DialogManagerBase<ContentControl>
method DialogManager (line 21) | public DialogManager(
method CreateWrapper (line 52) | protected override IView CreateWrapper(INotifyPropertyChanged viewMode...
method AsWrapper (line 62) | protected override IView AsWrapper(ContentControl view) =>
method FindViewByViewModel (line 69) | public override IView? FindViewByViewModel(INotifyPropertyChanged view...
method GetMainWindow (line 82) | public override IView? GetMainWindow()
method GetDummyWindow (line 93) | public override IView? GetDummyWindow()
method Dispatch (line 115) | protected override void Dispatch(Action action)
method DispatchAsync (line 128) | protected override Task<T> DispatchAsync<T>(Func<T> action) =>
method DispatchWithResult (line 135) | private Task<T> DispatchWithResult<T>(Func<T> action)
FILE: src/MvvmDialogs.Avalonia/DialogService.cs
class DialogService (line 7) | public class DialogService : DialogServiceBase
method DialogService (line 16) | public DialogService()
method DialogService (line 26) | public DialogService(
FILE: src/MvvmDialogs.Avalonia/FileSystem/AvaloniaDialogStorageFile.cs
class AvaloniaDialogStorageFile (line 8) | public class AvaloniaDialogStorageFile : AvaloniaDialogStorageItem, IDia...
method AvaloniaDialogStorageFile (line 20) | public AvaloniaDialogStorageFile(IStorageFile item) : base(item)
method OpenReadAsync (line 26) | public Task<Stream> OpenReadAsync() => _item.OpenReadAsync();
method OpenWriteAsync (line 29) | public Task<Stream> OpenWriteAsync() => _item.OpenWriteAsync();
FILE: src/MvvmDialogs.Avalonia/FileSystem/AvaloniaDialogStorageFolder.cs
class AvaloniaDialogStorageFolder (line 9) | public class AvaloniaDialogStorageFolder : AvaloniaDialogStorageItem, ID...
method AvaloniaDialogStorageFolder (line 21) | public AvaloniaDialogStorageFolder(IStorageFolder item) : base(item)
method GetItemsAsync (line 27) | public IAsyncEnumerable<IDialogStorageItem> GetItemsAsync()
method CreateFileAsync (line 34) | public async Task<IDialogStorageFile?> CreateFileAsync(string name)
method CreateFolderAsync (line 41) | public async Task<IDialogStorageFolder?> CreateFolderAsync(string name)
FILE: src/MvvmDialogs.Avalonia/FileSystem/AvaloniaDialogStorageItem.cs
class AvaloniaDialogStorageItem (line 8) | public abstract class AvaloniaDialogStorageItem : IDialogStorageItem
method AvaloniaDialogStorageItem (line 16) | protected AvaloniaDialogStorageItem(IStorageItem item)
method GetBasicPropertiesAsync (line 31) | public async Task<DesktopDialogStorageItemProperties> GetBasicProperti...
method SaveBookmarkAsync (line 41) | public Task<string?> SaveBookmarkAsync() => _item.SaveBookmarkAsync();
method GetParentAsync (line 44) | public async Task<IDialogStorageFolder?> GetParentAsync()
method DeleteAsync (line 51) | public Task DeleteAsync() => _item.DeleteAsync();
method MoveAsync (line 54) | public async Task<IDialogStorageItem?> MoveAsync(IDialogStorageFolder ...
method Dispose (line 70) | public void Dispose() => _item.Dispose();
FILE: src/MvvmDialogs.Avalonia/FileSystem/StorageExtensions.cs
class StorageExtensions (line 10) | public static class StorageExtensions
method ToDialog (line 17) | public static IDialogStorageFile ToDialog(this IStorageFile item) => n...
method ToDialog (line 24) | public static IDialogStorageFolder ToDialog(this IStorageFolder item) ...
method ToAvaloniaAsync (line 28) | internal static async Task<IStorageFolder?> ToAvaloniaAsync(this IDial...
method GetStorageProvider (line 42) | private static IStorageProvider? GetStorageProvider()
FILE: src/MvvmDialogs.Avalonia/IViewLocatorNavigation.cs
type IViewLocatorNavigation (line 6) | public interface IViewLocatorNavigation
FILE: src/MvvmDialogs.Avalonia/Navigation/CancellableActions.cs
class CancellableActions (line 10) | public static class CancellableActions
method Add (line 18) | public static void Add(Action action)
method Remove (line 30) | public static void Remove(Action action)
method CancelLast (line 70) | public static bool CancelLast()
FILE: src/MvvmDialogs.Avalonia/Navigation/DialogTask.cs
class DialogTask (line 6) | internal class DialogTask
method DialogTask (line 13) | public DialogTask(INotifyPropertyChanged viewModel, INotifyPropertyCha...
FILE: src/MvvmDialogs.Avalonia/Navigation/INavigationManager.cs
type INavigationManager (line 8) | public interface INavigationManager
method Launch (line 18) | void Launch(Control? customNavigationRoot = null);
method GetViewForViewModel (line 32) | UserControl? GetViewForViewModel(INotifyPropertyChanged viewModel);
method Show (line 38) | void Show(INotifyPropertyChanged viewModel, ViewDefinition viewDef);
method ShowDialogAsync (line 46) | Task ShowDialogAsync(INotifyPropertyChanged viewModel, ViewDefinition ...
method Close (line 51) | void Close(INotifyPropertyChanged viewModel);
method Activate (line 57) | bool Activate(INotifyPropertyChanged viewModel);
FILE: src/MvvmDialogs.Avalonia/Navigation/NavigationManager.cs
class NavigationManager (line 14) | public class NavigationManager(ViewClosingHandler? closingHandler) : INo...
method Launch (line 33) | public void Launch(Control? customNavigationRoot = null)
method TopLevel_BackRequested (line 56) | private void TopLevel_BackRequested(object? sender, RoutedEventArgs e)
method GetViewForViewModel (line 86) | public UserControl? GetViewForViewModel(INotifyPropertyChanged viewMod...
method Show (line 90) | public void Show(INotifyPropertyChanged viewModel, ViewDefinition view...
method ShowDialogAsync (line 107) | public Task ShowDialogAsync(INotifyPropertyChanged viewModel, ViewDefi...
method Close (line 123) | public void Close(INotifyPropertyChanged viewModel)
method Activate (line 156) | public bool Activate(INotifyPropertyChanged viewModel)
method OnPropertyChanged (line 176) | protected virtual void OnPropertyChanged([CallerMemberName] string? pr...
method SetField (line 181) | protected bool SetField<T>(ref T field, T value, [CallerMemberName] st...
FILE: src/MvvmDialogs.Avalonia/Navigation/NavigationRoot.axaml.cs
class NavigationRoot (line 8) | public partial class NavigationRoot : UserControl
method NavigationRoot (line 13) | public NavigationRoot() => InitializeComponent();
method InitializeComponent (line 15) | private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
FILE: src/MvvmDialogs.Avalonia/Navigation/NavigationRootWindow.axaml.cs
class NavigationRootWindow (line 8) | public partial class NavigationRootWindow : Window
method NavigationRootWindow (line 13) | public NavigationRootWindow()
method InitializeComponent (line 18) | private void InitializeComponent()
FILE: src/MvvmDialogs.Avalonia/Navigation/ViewCache.cs
class ViewCache (line 9) | public class ViewCache
method GetViewForViewModel (line 18) | public UserControl? GetViewForViewModel(INotifyPropertyChanged viewModel)
method GetView (line 46) | public UserControl GetView(INotifyPropertyChanged viewModel, ViewDefin...
FILE: src/MvvmDialogs.Avalonia/Navigation/ViewCacheItem.cs
class ViewCacheItem (line 6) | internal class ViewCacheItem
method ViewCacheItem (line 8) | public ViewCacheItem(Type viewModelType, ViewDefinition viewDef, UserC...
FILE: src/MvvmDialogs.Avalonia/Navigation/ViewNavigationWrapper.cs
class ViewNavigationWrapper (line 9) | public class ViewNavigationWrapper : IView
method ViewNavigationWrapper (line 19) | public ViewNavigationWrapper(INavigationManager navigationManager, Vie...
method Initialize (line 26) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 33) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method RaiseLoaded (line 70) | private void RaiseLoaded()
method RaiseClosed (line 78) | private void RaiseClosed()
method ShowDialogAsync (line 87) | public async Task ShowDialogAsync(IView owner)
method Show (line 96) | public void Show(IView? owner)
method Activate (line 104) | public void Activate()
method Close (line 117) | public void Close()
FILE: src/MvvmDialogs.Avalonia/Private/NullableAttributes.cs
class AllowNullAttribute (line 15) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class DisallowNullAttribute (line 25) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullAttribute (line 35) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class NotNullAttribute (line 45) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullWhenAttribute (line 55) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method MaybeNullWhenAttribute (line 67) | public MaybeNullWhenAttribute(bool returnValue) => ReturnValue = retur...
class NotNullWhenAttribute (line 74) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method NotNullWhenAttribute (line 86) | public NotNullWhenAttribute(bool returnValue) => ReturnValue = returnV...
class NotNullIfNotNullAttribute (line 93) | [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property |...
method NotNullIfNotNullAttribute (line 105) | public NotNullIfNotNullAttribute(string parameterName) => ParameterNam...
class DoesNotReturnAttribute (line 112) | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
class DoesNotReturnIfAttribute (line 122) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method DoesNotReturnIfAttribute (line 135) | public DoesNotReturnIfAttribute(bool parameterValue) => ParameterValue...
class MemberNotNullAttribute (line 147) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullAttribute (line 160) | public MemberNotNullAttribute(string member)
method MemberNotNullAttribute (line 167) | public MemberNotNullAttribute(params string[] members)
class MemberNotNullWhenAttribute (line 177) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullWhenAttribute (line 197) | public MemberNotNullWhenAttribute(bool returnValue, string member)
method MemberNotNullWhenAttribute (line 210) | public MemberNotNullWhenAttribute(bool returnValue, params string[] me...
FILE: src/MvvmDialogs.Avalonia/StrongViewLocator.cs
class StrongViewLocator (line 9) | public abstract class StrongViewLocator : StrongViewLocatorBase, IDataTe...
method Register (line 16) | public void Register<TViewModel, TView>()
method Register (line 28) | public void Register<TViewModel, TNavView, TDeskView>()
method Build (line 54) | public virtual Control Build(object? data)
method Match (line 70) | public virtual bool Match(object? data) => data is INotifyPropertyChan...
FILE: src/MvvmDialogs.Avalonia/UiExtensions.cs
class UiExtensions (line 13) | public static class UiExtensions
method AsWrapper (line 33) | [return: NotNullIfNotNull("window")]
method AsWrapper (line 52) | [return: NotNullIfNotNull("view")]
method GetRef (line 69) | public static ContentControl? GetRef(this IView? view)
method RunUiAsync (line 97) | public static Task<T> RunUiAsync<T>(Func<T> action)
FILE: src/MvvmDialogs.Avalonia/ViewLocatorBase.cs
class ViewLocatorBase (line 10) | public class ViewLocatorBase : IDataTemplate, IViewLocator, IViewLocator...
method GetViewName (line 20) | protected virtual string GetViewName(object viewModel)
method Build (line 32) | public virtual Control Build(object? data)
method Locate (line 48) | public virtual ViewDefinition Locate(object viewModel)
method CreateViewInstance (line 70) | protected virtual object CreateViewInstance(Type viewType) => Activato...
method Create (line 73) | public virtual object Create(object viewModel) =>
method Match (line 77) | public virtual bool Match(object? data) => data is INotifyPropertyChan...
FILE: src/MvvmDialogs.Avalonia/ViewWrapper.cs
class ViewWrapper (line 12) | public class ViewWrapper : IView
method Initialize (line 17) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 26) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 93) | public Task ShowDialogAsync(IView owner)
method Show (line 101) | public void Show(IView? owner)
method Activate (line 116) | public void Activate() => Ref.Activate();
method Close (line 119) | public void Close() => Ref.Close();
method SetMainWindowIfEmpty (line 134) | private void SetMainWindowIfEmpty(Window? window)
FILE: src/MvvmDialogs.Wpf/Api/FileApiSettings.cs
class FileApiSettings (line 5) | internal class FileApiSettings
method ApplyTo (line 21) | internal void ApplyTo(FileDialog d)
FILE: src/MvvmDialogs.Wpf/Api/FrameworkDialogsApi.cs
class FrameworkDialogsApi (line 8) | internal class FrameworkDialogsApi : IFrameworkDialogsApi
method FrameworkDialogsApi (line 10) | public FrameworkDialogsApi()
method ShowMessageBox (line 14) | public MessageBoxResult ShowMessageBox(Window? owner, MessageBoxApiSet...
method ShowOpenFileDialog (line 30) | public IReadOnlyList<IDialogStorageFile> ShowOpenFileDialog(Window? ow...
method ShowSaveFileDialog (line 40) | public IDialogStorageFile? ShowSaveFileDialog(Window? owner, SaveFileA...
method ShowOpenFolderDialog (line 50) | public IReadOnlyList<IDialogStorageFolder> ShowOpenFolderDialog(Window...
FILE: src/MvvmDialogs.Wpf/Api/IFrameworkDialogsApi.cs
type IFrameworkDialogsApi (line 9) | internal interface IFrameworkDialogsApi
method ShowMessageBox (line 11) | MessageBoxResult ShowMessageBox(Window? owner, MessageBoxApiSettings s...
method ShowOpenFileDialog (line 12) | IReadOnlyList<IDialogStorageFile> ShowOpenFileDialog(Window? owner, Op...
method ShowSaveFileDialog (line 13) | IDialogStorageFile? ShowSaveFileDialog(Window? owner, SaveFileApiSetti...
method ShowOpenFolderDialog (line 14) | IReadOnlyList<IDialogStorageFolder> ShowOpenFolderDialog(Window? owner...
FILE: src/MvvmDialogs.Wpf/Api/MessageBoxApiSettings.cs
class MessageBoxApiSettings (line 4) | internal class MessageBoxApiSettings
FILE: src/MvvmDialogs.Wpf/Api/OpenFileApiSettings.cs
class OpenFileApiSettings (line 4) | internal class OpenFileApiSettings : FileApiSettings
method ApplyTo (line 10) | internal void ApplyTo(System.Windows.Forms.OpenFileDialog d)
FILE: src/MvvmDialogs.Wpf/Api/OpenFolderApiSettings.cs
class OpenFolderApiSettings (line 4) | internal class OpenFolderApiSettings
method ApplyTo (line 10) | internal void ApplyTo(System.Windows.Forms.FolderBrowserDialog d)
FILE: src/MvvmDialogs.Wpf/Api/SaveFileApiSettings.cs
class SaveFileApiSettings (line 4) | internal class SaveFileApiSettings : FileApiSettings
method ApplyTo (line 9) | internal void ApplyTo(System.Windows.Forms.SaveFileDialog d)
FILE: src/MvvmDialogs.Wpf/DialogFactory.cs
class DialogFactory (line 19) | public class DialogFactory : DialogFactoryBase
method DialogFactory (line 27) | public DialogFactory(IDialogFactory? chain = null)
method DialogFactory (line 37) | internal DialogFactory(IDialogFactory? chain, IFrameworkDialogsApi? api)
method ShowDialogAsync (line 59) | public override async Task<object?> ShowDialogAsync<TSettings>(ViewWra...
method ShowDialog (line 70) | public override object? ShowDialog<TSettings>(ViewWrapper? owner, TSet...
method ShowOpenFolderDialog (line 80) | private IReadOnlyList<IDialogStorageFolder> ShowOpenFolderDialog(ViewW...
method ShowOpenFileDialog (line 92) | private IReadOnlyList<IDialogStorageFile> ShowOpenFileDialog(ViewWrapp...
method ShowSaveFileDialog (line 106) | private IDialogStorageFile? ShowSaveFileDialog(ViewWrapper? owner, Sav...
method AddSharedSettings (line 117) | private void AddSharedSettings(FileApiSettings d, FileDialogSettings s)
method SyncFilters (line 134) | private static string SyncFilters(IList<FileFilter> filters)
method ShowMessageBox (line 158) | private bool? ShowMessageBox(ViewWrapper? owner, MessageBoxSettings se...
method SyncButton (line 182) | private static Win32Button SyncButton(MessageBoxButton value) =>
method SyncIcon (line 192) | private static Win32Image SyncIcon(MessageBoxImage value) =>
method SyncDefault (line 204) | private static Win32Result SyncDefault(MessageBoxButton buttons, bool?...
method SyncOptions (line 219) | private Win32Options SyncOptions() =>
method EvalOption (line 225) | private static Win32Options EvalOption(bool cond, Win32Options option) =>
FILE: src/MvvmDialogs.Wpf/DialogFactoryBase.cs
class DialogFactoryBase (line 9) | public abstract class DialogFactoryBase : IDialogFactory, IDialogFactory...
method DialogFactoryBase (line 24) | protected DialogFactoryBase(IDialogFactory? chain)
method ShowDialogAsync (line 39) | public Task<object?> ShowDialogAsync<TSettings>(IView? owner, TSetting...
method ShowDialog (line 47) | public object? ShowDialog<TSettings>(IView? owner, TSettings settings)
method ShowDialogAsync (line 60) | public virtual Task<object?> ShowDialogAsync<TSettings>(ViewWrapper? o...
method ShowDialog (line 70) | public virtual object? ShowDialog<TSettings>(ViewWrapper? owner, TSett...
FILE: src/MvvmDialogs.Wpf/DialogManager.cs
class DialogManager (line 11) | public class DialogManager : DialogManagerBase<Window>, IDialogManagerSync
method DialogManager (line 16) | public DialogManager(IViewLocator? viewLocator = null, IDialogFactory?...
method ShowDialog (line 28) | public virtual void ShowDialog(INotifyPropertyChanged ownerViewModel, ...
method ShowFrameworkDialog (line 40) | public object? ShowFrameworkDialog<TSettings>(INotifyPropertyChanged? ...
method CreateWrapper (line 57) | protected override IView CreateWrapper(INotifyPropertyChanged viewMode...
method AsWrapper (line 65) | protected override IView AsWrapper(Window view) => view.AsWrapper();
method FindViewByViewModel (line 71) | public override IView? FindViewByViewModel(INotifyPropertyChanged view...
method GetMainWindow (line 75) | public override IView? GetMainWindow() =>
method GetDummyWindow (line 79) | public override IView? GetDummyWindow()
method Dispatch (line 96) | protected override void Dispatch(Action action)
method DispatchAsync (line 109) | protected override Task<T> DispatchAsync<T>(Func<T> action) =>
FILE: src/MvvmDialogs.Wpf/DialogService.cs
class DialogService (line 8) | public class DialogService : DialogServiceBase, IDialogServiceSync
method DialogService (line 17) | public DialogService()
method DialogService (line 27) | public DialogService(
method ShowDialog (line 36) | public bool? ShowDialog(INotifyPropertyChanged ownerViewModel, IModalD...
method ShowDialog (line 40) | public bool? ShowDialog<T>(INotifyPropertyChanged ownerViewModel, IMod...
method ShowDialogInternal (line 50) | protected bool? ShowDialogInternal(INotifyPropertyChanged ownerViewMod...
FILE: src/MvvmDialogs.Wpf/DialogServiceExtensions.cs
class DialogServiceExtensions (line 14) | public static class DialogServiceExtensions
method ShowDialog (line 25) | public static bool? ShowDialog(this IDialogService service, INotifyPro...
method ShowDialog (line 37) | public static bool? ShowDialog<T>(this IDialogService service, INotify...
method ShowDialog (line 44) | public static bool? ShowDialog(this Window window) =>
method ShowDialog (line 52) | public static DialogResult ShowDialog(this CommonDialog dialog, Window...
method ShowMessageBox (line 70) | public static bool? ShowMessageBox(
method ShowMessageBox (line 100) | public static bool? ShowMessageBox(this IDialogService service, INotif...
method ShowOpenFileDialog (line 115) | public static IDialogStorageFile? ShowOpenFileDialog(this IDialogServi...
method ShowOpenFilesDialog (line 131) | public static IReadOnlyList<IDialogStorageFile> ShowOpenFilesDialog(th...
method ShowSaveFileDialog (line 148) | public static IDialogStorageFile? ShowSaveFileDialog(this IDialogServi...
method ShowOpenFolderDialog (line 163) | public static IDialogStorageFolder? ShowOpenFolderDialog(this IDialogS...
FILE: src/MvvmDialogs.Wpf/IDialogFactorySync.cs
type IDialogFactorySync (line 6) | public interface IDialogFactorySync
method ShowDialog (line 14) | object? ShowDialog<TSettings>(IView? owner, TSettings settings);
FILE: src/MvvmDialogs.Wpf/IDialogManagerSync.cs
type IDialogManagerSync (line 8) | public interface IDialogManagerSync
method ShowDialog (line 16) | void ShowDialog(INotifyPropertyChanged ownerViewModel, IModalDialogVie...
method ShowFrameworkDialog (line 26) | object? ShowFrameworkDialog<TSettings>(INotifyPropertyChanged? ownerVi...
FILE: src/MvvmDialogs.Wpf/IDialogServiceSync.cs
type IDialogServiceSync (line 7) | public interface IDialogServiceSync
method ShowDialog (line 16) | bool? ShowDialog(INotifyPropertyChanged ownerViewModel, IModalDialogVi...
method ShowDialog (line 26) | bool? ShowDialog<T>(INotifyPropertyChanged ownerViewModel, IModalDialo...
FILE: src/MvvmDialogs.Wpf/IWindowSync.cs
type IViewSync (line 7) | public interface IViewSync
method ShowDialog (line 12) | void ShowDialog(IView owner);
FILE: src/MvvmDialogs.Wpf/Runtime/NullableAttributes.cs
class AllowNullAttribute (line 11) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class DisallowNullAttribute (line 15) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullAttribute (line 19) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class NotNullAttribute (line 23) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullWhenAttribute (line 27) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method MaybeNullWhenAttribute (line 34) | public MaybeNullWhenAttribute(bool returnValue) => ReturnValue = retur...
class NotNullWhenAttribute (line 41) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method NotNullWhenAttribute (line 48) | public NotNullWhenAttribute(bool returnValue) => ReturnValue = returnV...
class NotNullIfNotNullAttribute (line 55) | [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property |...
method NotNullIfNotNullAttribute (line 62) | public NotNullIfNotNullAttribute(string parameterName) => ParameterNam...
class DoesNotReturnAttribute (line 69) | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
class DoesNotReturnIfAttribute (line 73) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method DoesNotReturnIfAttribute (line 81) | public DoesNotReturnIfAttribute(bool parameterValue) => ParameterValue...
class MemberNotNullAttribute (line 92) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullAttribute (line 99) | public MemberNotNullAttribute(string member) => Members = new[] { memb...
method MemberNotNullAttribute (line 105) | public MemberNotNullAttribute(params string[] members) => Members = me...
class MemberNotNullWhenAttribute (line 112) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullWhenAttribute (line 122) | public MemberNotNullWhenAttribute(bool returnValue, string member)
method MemberNotNullWhenAttribute (line 135) | public MemberNotNullWhenAttribute(bool returnValue, params string[] me...
FILE: src/MvvmDialogs.Wpf/StrongViewLocator.cs
class StrongViewLocator (line 7) | public class StrongViewLocator : StrongViewLocatorBase
method Register (line 14) | public void Register<TViewModel, TView>()
FILE: src/MvvmDialogs.Wpf/UiExtensions.cs
class UiExtensions (line 8) | public static class UiExtensions
method RunUiAsync (line 16) | public static Task<T> RunUiAsync<T>(Func<T> action)
method RunUiAsync (line 27) | public static Task RunUiAsync(Action action)
method AsWrapper (line 43) | [return: System.Diagnostics.CodeAnalysis.NotNullIfNotNull("window")]
method AsWrapper (line 60) | [return: System.Diagnostics.CodeAnalysis.NotNullIfNotNull("window")]
method GetRef (line 69) | public static Window? GetRef(this IView? view)
method GetOwner (line 85) | internal static ViewWrapper GetOwner(this FrameworkElement frameworkEl...
method AsSync (line 94) | internal static IDialogFactorySync AsSync(this IDialogFactory factory) =>
method AsSync (line 100) | internal static IViewSync AsSync(this IView window) =>
method AsSync (line 106) | internal static IDialogServiceSync AsSync(this IDialogService service) =>
method AsSync (line 112) | internal static IDialogManagerSync AsSync(this IDialogManager service) =>
FILE: src/MvvmDialogs.Wpf/ViewLocatorBase.cs
class ViewLocatorBase (line 8) | public class ViewLocatorBase : IViewLocator
method GetViewName (line 15) | protected virtual string GetViewName(object viewModel) => viewModel.Ge...
method Locate (line 21) | public virtual ViewDefinition Locate(object viewModel)
method CreateViewInstance (line 44) | protected virtual object CreateViewInstance(Type viewType) => Activato...
method Create (line 47) | public virtual object Create(object viewModel) =>
FILE: src/MvvmDialogs.Wpf/ViewWrapper.cs
class ViewWrapper (line 9) | public class ViewWrapper : IView, IViewSync
method Initialize (line 16) | public void Initialize(INotifyPropertyChanged viewModel, ViewDefinitio...
method InitializeExisting (line 25) | public void InitializeExisting(INotifyPropertyChanged viewModel, objec...
method ShowDialogAsync (line 133) | public Task ShowDialogAsync(IView? owner) => UiExtensions.RunUiAsync((...
method ShowDialog (line 136) | public void ShowDialog(IView? owner)
method Show (line 143) | public void Show(IView? owner)
method Activate (line 150) | public void Activate() => Ref.Activate();
method Close (line 153) | public void Close() => Ref.Close();
FILE: src/MvvmDialogs.Wpf/Win32Window.cs
class Win32Window (line 9) | internal class Win32Window : IWin32Window
method Win32Window (line 15) | public Win32Window(Window window) => Handle = new WindowInteropHelper(...
FILE: src/MvvmDialogs/DialogManagerBase.cs
class DialogManagerBase (line 13) | public abstract class DialogManagerBase<T> : IDialogManager
method DialogManagerBase (line 42) | protected DialogManagerBase(IViewLocator viewLocator, IDialogFactory d...
method Show (line 57) | public virtual void Show(INotifyPropertyChanged? ownerViewModel, INoti...
method ShowDialogAsync (line 72) | public virtual async Task ShowDialogAsync(INotifyPropertyChanged owner...
method FindViewByViewModelOrThrow (line 94) | protected IView? FindViewByViewModelOrThrow(INotifyPropertyChanged? vi...
method CreateDialog (line 112) | protected IView CreateDialog(INotifyPropertyChanged viewModel, ViewDef...
method CreateWrapper (line 139) | protected abstract IView CreateWrapper(INotifyPropertyChanged viewMode...
method AsWrapper (line 145) | protected abstract IView AsWrapper(T view);
method Dispatch (line 151) | protected abstract void Dispatch(Action action);
method DispatchAsync (line 158) | protected abstract Task<D> DispatchAsync<D>(Func<D> action);
method HandleDialogEvents (line 165) | public virtual void HandleDialogEvents(INotifyPropertyChanged viewMode...
method View_Closing (line 197) | public async void View_Closing(IView dialog, CancelEventArgs e)
method ShowFrameworkDialogAsync (line 242) | public virtual async Task<object?> ShowFrameworkDialogAsync<TSettings>(
method FindViewByViewModel (line 301) | public abstract IView? FindViewByViewModel(INotifyPropertyChanged view...
method GetMainWindow (line 304) | public abstract IView? GetMainWindow();
method GetDummyWindow (line 307) | public abstract IView? GetDummyWindow();
FILE: src/MvvmDialogs/DialogNotFoundException.cs
class DialogNotFoundException (line 10) | #if NETSTANDARD2_0_OR_GREATER
method DialogNotFoundException (line 21) | public DialogNotFoundException(string? message = null, Exception? inne...
method DialogNotFoundException (line 33) | protected DialogNotFoundException(SerializationInfo info, StreamingCon...
FILE: src/MvvmDialogs/DialogServiceBase.cs
class DialogServiceBase (line 9) | public abstract class DialogServiceBase : IDialogService
method DialogServiceBase (line 16) | protected DialogServiceBase(IDialogManager dialogManager,
method Show (line 34) | public void Show(INotifyPropertyChanged? ownerViewModel, INotifyProper...
method Show (line 38) | public void Show<T>(INotifyPropertyChanged? ownerViewModel, INotifyPro...
method ShowDialogAsync (line 42) | public Task<bool?> ShowDialogAsync(INotifyPropertyChanged ownerViewMod...
method ShowDialogAsync (line 46) | public Task<bool?> ShowDialogAsync<T>(INotifyPropertyChanged ownerView...
method Activate (line 55) | public bool Activate(INotifyPropertyChanged viewModel)
method Close (line 72) | public bool Close(INotifyPropertyChanged viewModel)
method ShowInternal (line 99) | protected void ShowInternal(INotifyPropertyChanged? ownerViewModel, IN...
method ShowDialogInternalAsync (line 113) | protected async Task<bool?> ShowDialogInternalAsync(INotifyPropertyCha...
method CreateViewModel (line 123) | public object CreateViewModel(Type type) =>
method CreateViewModel (line 129) | public T CreateViewModel<T>() =>
FILE: src/MvvmDialogs/DialogServiceExtensions.cs
class DialogServiceExtensions (line 12) | public static class DialogServiceExtensions
method ShowMessageBoxAsync (line 29) | public static Task<bool?> ShowMessageBoxAsync(
method ShowMessageBoxAsync (line 59) | public static async Task<bool?> ShowMessageBoxAsync(this IDialogServic...
method ShowOpenFileDialogAsync (line 74) | public static async Task<IDialogStorageFile?> ShowOpenFileDialogAsync(...
method ShowOpenFilesDialogAsync (line 91) | public static async Task<IReadOnlyList<IDialogStorageFile>> ShowOpenFi...
method ShowSaveFileDialogAsync (line 108) | public static async Task<IDialogStorageFile?> ShowSaveFileDialogAsync(...
method ShowOpenFoldersDialogAsync (line 123) | public static async Task<IReadOnlyList<IDialogStorageFolder>> ShowOpen...
method ShowOpenFolderDialogAsync (line 138) | public static async Task<IDialogStorageFolder?> ShowOpenFolderDialogAs...
FILE: src/MvvmDialogs/DialogSettingsBase.cs
class DialogSettingsBase (line 6) | public abstract class DialogSettingsBase
FILE: src/MvvmDialogs/FileSystem/DesktopDialogStorageFactory.cs
class DesktopDialogStorageFactory (line 4) | public class DesktopDialogStorageFactory : IDesktopDialogStorageFactory
method GetFile (line 7) | public IDialogStorageFile GetFile(string filePath) => new DesktopDialo...
method GetDirectory (line 10) | public IDialogStorageFolder GetDirectory(string path) => new DesktopDi...
FILE: src/MvvmDialogs/FileSystem/DesktopDialogStorageFile.cs
class DesktopDialogStorageFile (line 6) | public class DesktopDialogStorageFile : DesktopDialogStorageItem, IDialo...
method DesktopDialogStorageFile (line 18) | public DesktopDialogStorageFile(FileInfo info)
method DesktopDialogStorageFile (line 27) | public DesktopDialogStorageFile(string path)
method OpenReadAsync (line 43) | public Task<Stream> OpenReadAsync() => Task.Run<Stream>(() => File.Ope...
method OpenWriteAsync (line 46) | public Task<Stream> OpenWriteAsync() => Task.Run<Stream>(() => File.Op...
method MoveAsync (line 49) | public override Task<IDialogStorageItem?> MoveAsync(IDialogStorageFold...
FILE: src/MvvmDialogs/FileSystem/DesktopDialogStorageFolder.cs
class DesktopDialogStorageFolder (line 8) | public class DesktopDialogStorageFolder : DesktopDialogStorageItem, IDia...
method DesktopDialogStorageFolder (line 20) | public DesktopDialogStorageFolder(DirectoryInfo info)
method DesktopDialogStorageFolder (line 29) | public DesktopDialogStorageFolder(string path)
method GetItemsAsync (line 41) | public IAsyncEnumerable<IDialogStorageItem> GetItemsAsync() => GetItem...
method GetItemsAsync (line 43) | private IAsyncEnumerable<IDialogStorageItem> GetItemsAsync(string sear...
method GetItemsAsync (line 45) | private async IAsyncEnumerable<IDialogStorageItem> GetItemsAsync(strin...
method CreateFileAsync (line 60) | public Task<IDialogStorageFile?> CreateFileAsync(string name)
method CreateFolderAsync (line 68) | public Task<IDialogStorageFolder?> CreateFolderAsync(string name)
method MoveAsync (line 76) | public override Task<IDialogStorageItem?> MoveAsync(IDialogStorageFold...
FILE: src/MvvmDialogs/FileSystem/DesktopDialogStorageItem.cs
class DesktopDialogStorageItem (line 6) | public abstract class DesktopDialogStorageItem : IDialogStorageItem
method GetBasicPropertiesAsync (line 24) | public Task<DesktopDialogStorageItemProperties> GetBasicPropertiesAsync()
method SaveBookmarkAsync (line 38) | public Task<string?> SaveBookmarkAsync() => Task.FromResult((string?)I...
method GetParentAsync (line 41) | public Task<IDialogStorageFolder?> GetParentAsync()
method DeleteAsync (line 53) | public Task DeleteAsync() => Task.Run(() => InfoBase.Delete());
method MoveAsync (line 56) | public abstract Task<IDialogStorageItem?> MoveAsync(IDialogStorageFold...
method Dispose (line 59) | public void Dispose() { }
FILE: src/MvvmDialogs/FileSystem/DesktopDialogStorageItemProperties.cs
class DesktopDialogStorageItemProperties (line 6) | public class DesktopDialogStorageItemProperties
method DesktopDialogStorageItemProperties (line 14) | public DesktopDialogStorageItemProperties(
FILE: src/MvvmDialogs/FileSystem/IDesktopDialogStorageFactory.cs
type IDesktopDialogStorageFactory (line 6) | public interface IDesktopDialogStorageFactory
method GetFile (line 13) | IDialogStorageFile GetFile(string filePath);
method GetDirectory (line 20) | IDialogStorageFolder GetDirectory(string path);
FILE: src/MvvmDialogs/FileSystem/IDialogStorageFile.cs
type IDialogStorageFile (line 8) | public interface IDialogStorageFile : IDialogStorageItem
method OpenReadAsync (line 13) | Task<Stream> OpenReadAsync();
method OpenWriteAsync (line 18) | Task<Stream> OpenWriteAsync();
FILE: src/MvvmDialogs/FileSystem/IDialogStorageFolder.cs
type IDialogStorageFolder (line 8) | public interface IDialogStorageFolder : IDialogStorageItem
method GetItemsAsync (line 16) | IAsyncEnumerable<IDialogStorageItem> GetItemsAsync();
method CreateFileAsync (line 41) | Task<IDialogStorageFile?> CreateFileAsync(string name);
method CreateFolderAsync (line 48) | Task<IDialogStorageFolder?> CreateFolderAsync(string name);
FILE: src/MvvmDialogs/FileSystem/IDialogStorageItem.cs
type IDialogStorageItem (line 9) | public interface IDialogStorageItem : IDisposable
method GetBasicPropertiesAsync (line 33) | Task<DesktopDialogStorageItemProperties> GetBasicPropertiesAsync();
method SaveBookmarkAsync (line 46) | Task<string?> SaveBookmarkAsync();
method GetParentAsync (line 51) | Task<IDialogStorageFolder?> GetParentAsync();
method DeleteAsync (line 56) | Task DeleteAsync();
method MoveAsync (line 62) | Task<IDialogStorageItem?> MoveAsync(IDialogStorageFolder destination);
FILE: src/MvvmDialogs/FrameworkDialogs/FileDialogSettings.cs
class FileDialogSettings (line 7) | public abstract class FileDialogSettings : PickerDialogSettings
FILE: src/MvvmDialogs/FrameworkDialogs/FileFilter.cs
class FileFilter (line 10) | public class FileFilter
method FileFilter (line 15) | public FileFilter()
method FileFilter (line 24) | public FileFilter(string name, string extension)
method FileFilter (line 35) | public FileFilter(string name, IReadOnlyList<string> extensions)
method ExtensionsToString (line 77) | public string? ExtensionsToString(char separator = ';')
method NameToString (line 112) | public string NameToString(string? extensions)
FILE: src/MvvmDialogs/FrameworkDialogs/MessageBoxButton.cs
type MessageBoxButton (line 6) | public enum MessageBoxButton
FILE: src/MvvmDialogs/FrameworkDialogs/MessageBoxImage.cs
type MessageBoxImage (line 6) | public enum MessageBoxImage
FILE: src/MvvmDialogs/FrameworkDialogs/MessageBoxSettings.cs
class MessageBoxSettings (line 7) | public class MessageBoxSettings : DialogSettingsBase
FILE: src/MvvmDialogs/FrameworkDialogs/OpenFileDialogSettings.cs
class OpenFileDialogSettings (line 7) | public class OpenFileDialogSettings : FileDialogSettings
FILE: src/MvvmDialogs/FrameworkDialogs/OpenFolderDialogSettings.cs
class OpenFolderDialogSettings (line 6) | public class OpenFolderDialogSettings : PickerDialogSettings
FILE: src/MvvmDialogs/FrameworkDialogs/PickerDialogSettings.cs
class PickerDialogSettings (line 8) | public abstract class PickerDialogSettings : DialogSettingsBase
FILE: src/MvvmDialogs/FrameworkDialogs/SaveFileDialogSettings.cs
class SaveFileDialogSettings (line 6) | public class SaveFileDialogSettings : FileDialogSettings
FILE: src/MvvmDialogs/IActivable.cs
type IActivable (line 6) | public interface IActivable
FILE: src/MvvmDialogs/ICloseable.cs
type ICloseable (line 6) | public interface ICloseable
FILE: src/MvvmDialogs/IDialogFactory.cs
type IDialogFactory (line 6) | public interface IDialogFactory
method ShowDialogAsync (line 15) | Task<object?> ShowDialogAsync<TSettings>(IView? owner, TSettings setti...
FILE: src/MvvmDialogs/IDialogManager.cs
type IDialogManager (line 8) | public interface IDialogManager
method Show (line 25) | void Show(INotifyPropertyChanged? ownerViewModel, INotifyPropertyChang...
method ShowDialogAsync (line 33) | Task ShowDialogAsync(INotifyPropertyChanged ownerViewModel, IModalDial...
method ShowFrameworkDialogAsync (line 43) | Task<object?> ShowFrameworkDialogAsync<TSettings>(INotifyPropertyChang...
method FindViewByViewModel (line 51) | IView? FindViewByViewModel(INotifyPropertyChanged viewModel);
method GetMainWindow (line 57) | IView? GetMainWindow();
method GetDummyWindow (line 63) | IView? GetDummyWindow();
method HandleDialogEvents (line 70) | void HandleDialogEvents(INotifyPropertyChanged viewModel, IView dialog);
FILE: src/MvvmDialogs/IDialogService.cs
type IDialogService (line 8) | public interface IDialogService
method Show (line 21) | void Show(INotifyPropertyChanged? ownerViewModel, INotifyPropertyChang...
method Show (line 30) | void Show<T>(INotifyPropertyChanged? ownerViewModel, INotifyPropertyCh...
method ShowDialogAsync (line 39) | Task<bool?> ShowDialogAsync(INotifyPropertyChanged ownerViewModel, IMo...
method ShowDialogAsync (line 49) | Task<bool?> ShowDialogAsync<T>(INotifyPropertyChanged ownerViewModel, ...
method Activate (line 56) | bool Activate(INotifyPropertyChanged viewModel);
method Close (line 63) | bool Close(INotifyPropertyChanged viewModel);
method CreateViewModel (line 70) | object CreateViewModel(Type type);
method CreateViewModel (line 77) | T CreateViewModel<T>();
FILE: src/MvvmDialogs/IModalDialogViewModel.cs
type IModalDialogViewModel (line 6) | public interface IModalDialogViewModel : INotifyPropertyChanged
FILE: src/MvvmDialogs/IView.cs
type IView (line 10) | public interface IView
method Initialize (line 17) | void Initialize(INotifyPropertyChanged viewModel, ViewDefinition viewD...
method InitializeExisting (line 24) | void InitializeExisting(INotifyPropertyChanged viewModel, object view);
method Show (line 54) | void Show(IView? owner);
method ShowDialogAsync (line 62) | Task ShowDialogAsync(IView owner);
method Activate (line 67) | void Activate();
method Close (line 72) | void Close();
FILE: src/MvvmDialogs/IViewClosed.cs
type IViewClosed (line 6) | public interface IViewClosed
method OnClosed (line 11) | void OnClosed();
FILE: src/MvvmDialogs/IViewClosing.cs
type IViewClosing (line 6) | public interface IViewClosing
method OnClosing (line 11) | void OnClosing(CancelEventArgs e);
method OnClosingAsync (line 16) | Task OnClosingAsync(CancelEventArgs e);
FILE: src/MvvmDialogs/IViewLoaded.cs
type IViewLoaded (line 6) | public interface IViewLoaded
method OnLoaded (line 11) | void OnLoaded();
FILE: src/MvvmDialogs/IViewLocator.cs
type IViewLocator (line 6) | public interface IViewLocator
method Locate (line 13) | ViewDefinition Locate(object viewModel);
method Create (line 20) | object Create(object viewModel);
FILE: src/MvvmDialogs/Private/NullableAttributes.cs
class AllowNullAttribute (line 15) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class DisallowNullAttribute (line 25) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullAttribute (line 35) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class NotNullAttribute (line 45) | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | At...
class MaybeNullWhenAttribute (line 55) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method MaybeNullWhenAttribute (line 67) | public MaybeNullWhenAttribute(bool returnValue) => ReturnValue = retur...
class NotNullWhenAttribute (line 74) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method NotNullWhenAttribute (line 86) | public NotNullWhenAttribute(bool returnValue) => ReturnValue = returnV...
class NotNullIfNotNullAttribute (line 93) | [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property |...
method NotNullIfNotNullAttribute (line 105) | public NotNullIfNotNullAttribute(string parameterName) => ParameterNam...
class DoesNotReturnAttribute (line 112) | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
class DoesNotReturnIfAttribute (line 122) | [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
method DoesNotReturnIfAttribute (line 135) | public DoesNotReturnIfAttribute(bool parameterValue) => ParameterValue...
class MemberNotNullAttribute (line 147) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullAttribute (line 160) | public MemberNotNullAttribute(string member)
method MemberNotNullAttribute (line 167) | public MemberNotNullAttribute(params string[] members)
class MemberNotNullWhenAttribute (line 177) | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inh...
method MemberNotNullWhenAttribute (line 197) | public MemberNotNullWhenAttribute(bool returnValue, string member)
method MemberNotNullWhenAttribute (line 210) | public MemberNotNullWhenAttribute(bool returnValue, params string[] me...
FILE: src/MvvmDialogs/Private/ViewIdGenerator.cs
class ViewIdGenerator (line 5) | internal static class ViewIdGenerator
method Generate (line 9) | public static int Generate() => Interlocked.Increment(ref s_id);
FILE: src/MvvmDialogs/StrongViewLocatorBase.cs
class StrongViewLocatorBase (line 8) | public abstract class StrongViewLocatorBase : IViewLocator
method Register (line 21) | protected void Register<TViewModel>(ViewDefinition viewDef)
method Locate (line 28) | public virtual ViewDefinition Locate(object viewModel)
method Create (line 43) | public virtual object Create(object viewModel) =>
FILE: src/MvvmDialogs/ViewBase.cs
class ViewBase (line 8) | public abstract class ViewBase
method ViewBase (line 16) | protected ViewBase(object view)
method GetOwner (line 57) | public abstract IView? GetOwner();
method Equals (line 72) | public override bool Equals(object? obj) =>
method GetHashCode (line 77) | public override int GetHashCode() => SourceObj.GetHashCode();
method RaiseLoaded (line 82) | protected void RaiseLoaded() => Loaded?.Invoke(this, EventArgs.Empty);
FILE: src/MvvmDialogs/ViewDefinition.cs
type ViewDefinition (line 6) | public readonly struct ViewDefinition
method ViewDefinition (line 13) | public ViewDefinition(Type viewType, Func<object> createFunc)
method Create (line 33) | public object Create() => CreateFunc.Invoke();
method TypeDerivesFrom (line 40) | public bool TypeDerivesFrom<T>() => typeof(T).IsAssignableFrom(ViewType);
FILE: src/MvvmDialogs/ViewNotRegisteredException.cs
class ViewNotRegisteredException (line 11) | #if NETSTANDARD2_0_OR_GREATER
method ViewNotRegisteredException (line 22) | public ViewNotRegisteredException(string? message = null, Exception? i...
method ViewNotRegisteredException (line 35) | protected ViewNotRegisteredException(SerializationInfo info, Streaming...
Condensed preview — 589 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (942K chars).
[
{
"path": ".editorconfig",
"chars": 9490,
"preview": "# EditorConfig is awesome: https://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\ndotnet_code_quality.CA106"
},
{
"path": ".gitattributes",
"chars": 66,
"preview": "# Auto detect text files and perform LF normalization\n\n* text=auto"
},
{
"path": ".gitignore",
"chars": 620,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
},
{
"path": "CHANGELOG.md",
"chars": 10103,
"preview": "# Change Log\n\nAll notable changes to this project will be documented in this file.\n\n## 2.2 - 2026-03-05\n\n- Updated all d"
},
{
"path": "Directory.Packages.props",
"chars": 3459,
"preview": "<Project>\n <PropertyGroup>\n <!-- Enable central package management, https://learn.microsoft.com/en-us/nuget/consume-"
},
{
"path": "LICENSE.md",
"chars": 1078,
"preview": "MIT License\n\nCopyright (c) 2018-2022 Etienne Charland\n\nPermission is hereby granted, free of charge, to any person obtai"
},
{
"path": "MvvmDialogs.sln",
"chars": 86202,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 18\nVisualStudioVersion = 18.3.1152"
},
{
"path": "MvvmDialogs.sln.DotSettings",
"chars": 39025,
"preview": "<wpf:ResourceDictionary xml:space=\"preserve\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:s=\"clr-namesp"
},
{
"path": "README.md",
"chars": 29830,
"preview": "<h1 align=\"center\">\n <br>\n <img src=\"https://raw.githubusercontent.com/FantasticFiasco/mvvm-dialogs/master/doc/res"
},
{
"path": "deletebin.sh",
"chars": 115,
"preview": "#!/bin/bash\n\nfind . -type d -name bin -prune -exec rm -rf {} \\;\nfind . -type d -name obj -prune -exec rm -rf {} \\;\n"
},
{
"path": "nuget.config",
"chars": 280,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <packageSources>\n <!--To inherit the global NuGet package so"
},
{
"path": "samples/Avalonia/CrossPlatform/.gitignore",
"chars": 7459,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/App.axaml",
"chars": 577,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/App.axaml.cs",
"chars": 1979,
"preview": "using Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing Demo.CrossPlatform.Services;\nusing Demo"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/StreamExtensions.cs",
"chars": 833,
"preview": "using System.IO;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nnamespace Demo.CrossPlatform.Business;\n\npublic "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Business/SynchronousProgress.cs",
"chars": 179,
"preview": "namespace Demo.CrossPlatform.Business;\n\npublic sealed class SynchronousProgress<T>(Action<T> callback) : IProgress<T>\n{"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Demo.CrossPlatform.csproj",
"chars": 1852,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <TargetFramework>net10.0</TargetFramework>\n <Nullable>enable"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/FodyWeavers.xml",
"chars": 140,
"preview": "<Weavers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FodyWeavers.xsd\">\n <Reac"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/GlobalUsings.cs",
"chars": 146,
"preview": "global using System;\nglobal using Avalonia;\nglobal using RxCommandUnit = ReactiveUI.ReactiveCommand<System.Reactive.Uni"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Roots.xml",
"chars": 208,
"preview": "<linker>\n <!-- Can be removed if CompiledBinding and no reflection are used -->\n <assembly fullname=\"Avalonia11\" pres"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/IStorageService.cs",
"chars": 215,
"preview": "using System.Threading.Tasks;\nusing HanumanInstitute.MvvmDialogs.FileSystem;\n\nnamespace Demo.CrossPlatform.Services;\n\np"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Services/StorageService.cs",
"chars": 1384,
"preview": "using System.Threading.Tasks;\nusing Avalonia.Controls;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Pla"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewLocator.cs",
"chars": 563,
"preview": "using Demo.CrossPlatform.ViewModels;\nusing Demo.CrossPlatform.Views;\nusing HanumanInstitute.MvvmDialogs.Avalonia;\n\nnames"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/ConfirmCloseViewModel.cs",
"chars": 1310,
"preview": "using System.ComponentModel;\nusing System.Threading.Tasks;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.M"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/CurrentTimeViewModel.cs",
"chars": 912,
"preview": "using System.Reactive.Linq;\nusing HanumanInstitute.MvvmDialogs;\nusing ReactiveUI;\n\nnamespace Demo.CrossPlatform.ViewMod"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/MainViewModel.cs",
"chars": 7710,
"preview": "using System.IO;\nusing System.Linq;\nusing System.Reactive.Linq;\nusing System.Threading.Tasks;\nusing Demo.CrossPlatform."
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/ViewModels/ViewModelBase.cs",
"chars": 110,
"preview": "using ReactiveUI;\n\nnamespace Demo.CrossPlatform.ViewModels;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseView.axaml",
"chars": 891,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n x:Class=\"Demo.CrossPlatform.Views.ConfirmCloseView\"\n "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseView.axaml.cs",
"chars": 313,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class Confirm"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseWindow.axaml",
"chars": 572,
"preview": "<Window xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n xml"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/ConfirmCloseWindow.axaml.cs",
"chars": 312,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class Confirm"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeView.axaml",
"chars": 925,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n x:Class=\"Demo.CrossPlatform.Views.CurrentTimeView\"\n "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeView.axaml.cs",
"chars": 311,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class Current"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeWindow.axaml",
"chars": 586,
"preview": "<Window xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n xml"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/CurrentTimeWindow.axaml.cs",
"chars": 310,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class Current"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainView.axaml",
"chars": 2404,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainView.axaml.cs",
"chars": 175,
"preview": "using Avalonia.Controls;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class MainView : UserControl\n{\n public "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainWindow.axaml",
"chars": 632,
"preview": "<Window xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n xml"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform/Views/MainWindow.axaml.cs",
"chars": 174,
"preview": "using Avalonia.Controls;\n\nnamespace Demo.CrossPlatform.Views;\n\npublic partial class MainWindow : Window\n{\n public Mai"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/Demo.CrossPlatform.Android.csproj",
"chars": 895,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>Exe</OutputType>\n <TargetFramework>net10.0-andro"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/MainActivity.cs",
"chars": 873,
"preview": "using System;\nusing Android.App;\nusing Android.Content.PM;\nusing Android.Runtime;\nusing Avalonia;\nusing Avalonia.Androi"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/Properties/AndroidManifest.xml",
"chars": 291,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" android:ins"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/Resources/drawable/splash_screen.xml",
"chars": 341,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n <item"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/Resources/values/colors.xml",
"chars": 115,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <color name=\"splash_background\">#FFFFFF</color>\n</resources>\n"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Android/Resources/values/styles.xml",
"chars": 508,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<resources>\n\n <style name=\"MyTheme\">\n </style>\n\n <style name=\"MyTheme.NoActi"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/AppBundle/app.css",
"chars": 1125,
"preview": "/* HTML styles for the splash screen */\n\n.highlight {\n color: white;\n font-size: 2.5rem;\n display: block;\n}\n\n."
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/AppBundle/index.html",
"chars": 997,
"preview": "<!DOCTYPE html>\n<html>\n\n<head>\n <title>Avalonia11.Web</title>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" co"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/AppBundle/main.js",
"chars": 421,
"preview": "import { dotnet } from './_framework/dotnet.js'\n\nconst is_browser = typeof window != \"undefined\";\nif (!is_browser) throw"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/Demo.CrossPlatform.Browser.csproj",
"chars": 690,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <TargetFramework>net10.0</TargetFramework>\n <GenerateRuntime"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/Program.cs",
"chars": 478,
"preview": "using System.Runtime.Versioning;\nusing System.Threading.Tasks;\nusing Avalonia;\nusing Avalonia.Browser;\nusing ReactiveUI"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/Properties/launchSettings.json",
"chars": 376,
"preview": "{\n \"profiles\": {\n \"Avalonia11.Browser\": {\n \"commandName\": \"Project\",\n \"launchBrowser\": true,\n \"enviro"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Browser/runtimeconfig.template.json",
"chars": 167,
"preview": "{\n \"wasmHostProperties\": {\n \"perHostConfig\": [\n {\n \"name\": \"browser\",\n \"html-path\": \"index.html\","
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Desktop/Demo.CrossPlatform.Desktop.csproj",
"chars": 885,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <!--If you are willing to u"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Desktop/Program.cs",
"chars": 713,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.CrossPlatform.Desktop;\n\nclass Program\n{\n //"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.Desktop/app.manifest",
"chars": 909,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n <!--"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/AppDelegate.cs",
"chars": 564,
"preview": "using Avalonia;\nusing Avalonia.iOS;\nusing Foundation;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.CrossPlatform.iOS;\n\n//"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Demo.CrossPlatform.iOS.csproj",
"chars": 746,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>Exe</OutputType>\n <TargetFramework>net10.0-ios26"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Entitlements.plist",
"chars": 181,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Info.plist",
"chars": 1444,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Main.cs",
"chars": 368,
"preview": "using UIKit;\n\nnamespace Demo.CrossPlatform.iOS;\n\npublic class Application\n{\n // This is the main entry point of the "
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.iOS/Resources/LaunchScreen.xib",
"chars": 3329,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
},
{
"path": "samples/Avalonia/CrossPlatform/Demo.CrossPlatform.sln",
"chars": 3372,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 17\nVisualStudioVersion = 17.3.3281"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/App.axaml",
"chars": 820,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/App.axaml.cs",
"chars": 1691,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Markup.Xaml;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/CurrentTimeDialog.axaml",
"chars": 865,
"preview": "<Window\n x:Class=\"Demo.Avalonia.ActivateNonModalDialog.CurrentTimeDialog\"\n xmlns=\"https://github.com/avaloniaui\"\n"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/CurrentTimeDialog.axaml.cs",
"chars": 320,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\n"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/CurrentTimeDialogViewModel.cs",
"chars": 395,
"preview": "using System;\nusing System.Threading;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\npublic class CurrentTimeDialogVi"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/Demo.ActivateNonModalDialog.MvvmToolkit.csproj",
"chars": 935,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</Ta"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/MainWindow.axaml",
"chars": 961,
"preview": "<Window\n x:Class=\"Demo.Avalonia.ActivateNonModalDialog.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n xml"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/MainWindow.axaml.cs",
"chars": 306,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\n"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/MainWindowViewModel.cs",
"chars": 1265,
"preview": "using System.ComponentModel;\nusing CommunityToolkit.Mvvm.Input;\nusing HanumanInstitute.MvvmDialogs;\n\nnamespace Demo.Aval"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/Program.cs",
"chars": 662,
"preview": "using System;\nusing Avalonia;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\npublic class Program\n{\n // Initializa"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/ViewLocator.cs",
"chars": 356,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\n/// <summary>\n/// Maps vi"
},
{
"path": "samples/Avalonia/Demo.ActivateNonModalDialog.MvvmToolkit/ViewModelBase.cs",
"chars": 143,
"preview": "using CommunityToolkit.Mvvm.ComponentModel;\n\nnamespace Demo.Avalonia.ActivateNonModalDialog;\n\npublic class ViewModelBase"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/App.axaml",
"chars": 772,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/App.axaml.cs",
"chars": 1715,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIn"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/CurrentTimeDialog.axaml",
"chars": 890,
"preview": "<Window\n x:Class=\"Demo.Avalonia.CloseNonModalDialog.CurrentTimeDialog\"\n xmlns=\"https://github.com/avaloniaui\"\n "
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/CurrentTimeDialog.axaml.cs",
"chars": 317,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\npub"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/CurrentTimeDialogViewModel.cs",
"chars": 435,
"preview": "using System;\nusing System.Reactive.Linq;\nusing ReactiveUI;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\npublic class"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/Demo.CloseNonModalDialog.csproj",
"chars": 1169,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/MainWindow.axaml",
"chars": 948,
"preview": "<Window\n x:Class=\"Demo.Avalonia.CloseNonModalDialog.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/MainWindow.axaml.cs",
"chars": 303,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\npub"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/MainWindowViewModel.cs",
"chars": 1390,
"preview": "using System.ComponentModel;\nusing System.Reactive.Linq;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/Program.cs",
"chars": 720,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\nclass Program\n{"
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/ViewLocator.cs",
"chars": 353,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\n/// <summary>\n/// Maps view "
},
{
"path": "samples/Avalonia/Demo.CloseNonModalDialog/ViewModelBase.cs",
"chars": 114,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.CloseNonModalDialog;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/App.axaml",
"chars": 779,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/App.axaml.cs",
"chars": 1643,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIn"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/CustomDialogFactory.cs",
"chars": 1719,
"preview": "using System;\nusing System.Threading.Tasks;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.MvvmDialogs.Fram"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/Demo.CustomOpenFolderDialog.csproj",
"chars": 1527,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0-wi"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/DialogFactoryExtensions.cs",
"chars": 272,
"preview": "using HanumanInstitute.MvvmDialogs;\n\nnamespace Demo.Avalonia.CustomOpenFolderDialog\n{\n public static class DialogFac"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/MainWindow.axaml",
"chars": 1063,
"preview": "<Window x:Class=\"Demo.Avalonia.CustomOpenFolderDialog.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n "
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/MainWindow.axaml.cs",
"chars": 323,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.CustomOpenFolderDialog;\n\n"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/MainWindowViewModel.cs",
"chars": 1248,
"preview": "using System.Reflection;\nusing System.Threading.Tasks;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\n"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/Program.cs",
"chars": 723,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.CustomOpenFolderDialog;\n\nclass Progra"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/ViewLocator.cs",
"chars": 356,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.CustomOpenFolderDialog;\n\n/// <summary>\n/// Maps vi"
},
{
"path": "samples/Avalonia/Demo.CustomOpenFolderDialog/ViewModelBase.cs",
"chars": 117,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.CustomOpenFolderDialog;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.DialogHost/App.axaml",
"chars": 846,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.DialogHost/App.axaml.cs",
"chars": 1706,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Markup.Xaml;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
},
{
"path": "samples/Avalonia/Demo.DialogHost/AskTextBoxView.axaml",
"chars": 1735,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.DialogHost/AskTextBoxView.axaml.cs",
"chars": 309,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.DialogHost;\n\npublic partial class AskText"
},
{
"path": "samples/Avalonia/Demo.DialogHost/AskTextBoxViewModel.cs",
"chars": 1027,
"preview": "using System;\nusing System.Reactive;\nusing HanumanInstitute.MvvmDialogs;\nusing ReactiveUI;\nusing ReactiveUI.SourceGener"
},
{
"path": "samples/Avalonia/Demo.DialogHost/CurrentTimeView.axaml",
"chars": 957,
"preview": "<UserControl\n x:Class=\"Demo.Avalonia.DialogHost.CurrentTimeView\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns"
},
{
"path": "samples/Avalonia/Demo.DialogHost/CurrentTimeView.axaml.cs",
"chars": 310,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.DialogHost;\n\npublic partial class Current"
},
{
"path": "samples/Avalonia/Demo.DialogHost/CurrentTimeViewModel.cs",
"chars": 818,
"preview": "using System;\nusing System.ComponentModel;\nusing System.Reactive.Linq;\nusing System.Threading.Tasks;\nusing HanumanInsti"
},
{
"path": "samples/Avalonia/Demo.DialogHost/Demo.DialogHost.csproj",
"chars": 2143,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.DialogHost/DialogServiceExtensions.cs",
"chars": 762,
"preview": "using System.ComponentModel;\nusing System.Threading.Tasks;\nusing Demo.Avalonia.DialogHost;\nusing HanumanInstitute.MvvmD"
},
{
"path": "samples/Avalonia/Demo.DialogHost/FodyWeavers.xml",
"chars": 140,
"preview": "<Weavers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FodyWeavers.xsd\">\n <Reac"
},
{
"path": "samples/Avalonia/Demo.DialogHost/FodyWeavers.xsd",
"chars": 1230,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n <!-- This file was gen"
},
{
"path": "samples/Avalonia/Demo.DialogHost/MainView.axaml",
"chars": 1502,
"preview": "<Window x:Class=\"Demo.Avalonia.DialogHost.MainView\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http:"
},
{
"path": "samples/Avalonia/Demo.DialogHost/MainView.axaml.cs",
"chars": 307,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.DialogHost;\n\npublic parti"
},
{
"path": "samples/Avalonia/Demo.DialogHost/MainViewModel.cs",
"chars": 2901,
"preview": "using System.Reactive;\nusing System.Threading.Tasks;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.MvvmDia"
},
{
"path": "samples/Avalonia/Demo.DialogHost/MessageView.axaml",
"chars": 1487,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.DialogHost/MessageView.axaml.cs",
"chars": 303,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.DialogHost;\n\npublic partial class Message"
},
{
"path": "samples/Avalonia/Demo.DialogHost/Program.cs",
"chars": 711,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.DialogHost;\n\nclass Program\n{\n // I"
},
{
"path": "samples/Avalonia/Demo.DialogHost/ViewLocator.cs",
"chars": 348,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.DialogHost;\n\n/// <summary>\n/// Maps view models to"
},
{
"path": "samples/Avalonia/Demo.DialogHost/ViewModelBase.cs",
"chars": 105,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.DialogHost;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/App.axaml",
"chars": 1021,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/App.axaml.cs",
"chars": 1927,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIn"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/AskTextBoxView.axaml",
"chars": 1153,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/AskTextBoxView.axaml.cs",
"chars": 318,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npublic partial clas"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/AskTextBoxViewModel.cs",
"chars": 311,
"preview": "using ReactiveUI;\nusing ReactiveUI.SourceGenerators;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npublic partial clas"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/CurrentTimeView.axaml",
"chars": 975,
"preview": "<UserControl\n x:Class=\"Demo.Avalonia.FluentContentDialog.CurrentTimeView\"\n xmlns=\"https://github.com/avaloniaui\"\n"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/CurrentTimeView.axaml.cs",
"chars": 319,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npublic partial clas"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/CurrentTimeViewModel.cs",
"chars": 827,
"preview": "using System;\nusing System.ComponentModel;\nusing System.Reactive.Linq;\nusing System.Threading.Tasks;\nusing HanumanInsti"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/Demo.FluentContentDialog.csproj",
"chars": 2158,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/FodyWeavers.xml",
"chars": 140,
"preview": "<Weavers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FodyWeavers.xsd\">\n <Reac"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/FodyWeavers.xsd",
"chars": 1230,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n <!-- This file was gen"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/MainView.axaml",
"chars": 1332,
"preview": "<Window\n x:Class=\"Demo.Avalonia.FluentContentDialog.MainView\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x="
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/MainView.axaml.cs",
"chars": 299,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npub"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/MainViewModel.cs",
"chars": 3092,
"preview": "using System.Reactive;\nusing System.Threading.Tasks;\nusing FluentAvalonia.UI.Controls;\nusing HanumanInstitute.MvvmDialo"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/MessageView.axaml",
"chars": 606,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/MessageView.axaml.cs",
"chars": 312,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npublic partial clas"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/Program.cs",
"chars": 720,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\nclass Program\n{"
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/ViewLocator.cs",
"chars": 620,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\n/// <summary>\n/// Maps view "
},
{
"path": "samples/Avalonia/Demo.FluentContentDialog/ViewModelBase.cs",
"chars": 114,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.FluentContentDialog;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/App.axaml",
"chars": 1028,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/App.axaml.cs",
"chars": 1659,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIn"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/Demo.FluentMessageBoxContentDialog.csproj",
"chars": 1423,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/MainWindow.axaml",
"chars": 1636,
"preview": "<Window\n x:Class=\"Demo.Avalonia.FluentMessageBoxContentDialog.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/MainWindow.axaml.cs",
"chars": 313,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentMessageBoxContentDi"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/MainWindowViewModel.cs",
"chars": 3042,
"preview": "using System.Threading.Tasks;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mvv"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/Program.cs",
"chars": 730,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.FluentMessageBoxContentDialog;\n\nclass"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/ViewLocator.cs",
"chars": 363,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.FluentMessageBoxContentDialog;\n\n/// <summary>\n/// "
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxContentDialog/ViewModelBase.cs",
"chars": 124,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.FluentMessageBoxContentDialog;\n\npublic class ViewModelBase : ReactiveObject\n"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/App.axaml",
"chars": 1016,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/App.axaml.cs",
"chars": 1653,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIn"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/Demo.FluentMessageBoxTaskDialog.csproj",
"chars": 1469,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/MainWindow.axaml",
"chars": 1630,
"preview": "<Window\n x:Class=\"Demo.Avalonia.FluentMessageBoxTaskDialog.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/MainWindow.axaml.cs",
"chars": 310,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentMessageBoxTaskDialo"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/MainWindowViewModel.cs",
"chars": 3040,
"preview": "using System.Threading.Tasks;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/Program.cs",
"chars": 727,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.FluentMessageBoxTaskDialog;\n\nclass Pr"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/ViewLocator.cs",
"chars": 360,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.FluentMessageBoxTaskDialog;\n\n/// <summary>\n/// Map"
},
{
"path": "samples/Avalonia/Demo.FluentMessageBoxTaskDialog/ViewModelBase.cs",
"chars": 121,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.FluentMessageBoxTaskDialog;\n\npublic class ViewModelBase : ReactiveObject\n{\n}"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/App.axaml",
"chars": 976,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/App.axaml.cs",
"chars": 1692,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Markup.Xaml;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/AskTextBoxView.axaml",
"chars": 1147,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/AskTextBoxView.axaml.cs",
"chars": 315,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic partial class A"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/AskTextBoxViewModel.cs",
"chars": 290,
"preview": "using ReactiveUI.SourceGenerators;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic partial class AskTextBoxViewModel"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/CurrentTimeView.axaml",
"chars": 969,
"preview": "<UserControl\n x:Class=\"Demo.Avalonia.FluentTaskDialog.CurrentTimeView\"\n xmlns=\"https://github.com/avaloniaui\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/CurrentTimeView.axaml.cs",
"chars": 316,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic partial class C"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/CurrentTimeViewModel.cs",
"chars": 824,
"preview": "using System;\nusing System.ComponentModel;\nusing System.Reactive.Linq;\nusing System.Threading.Tasks;\nusing HanumanInsti"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/Demo.FluentTaskDialog.csproj",
"chars": 2152,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/FodyWeavers.xml",
"chars": 140,
"preview": "<Weavers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FodyWeavers.xsd\">\n <Reac"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/FodyWeavers.xsd",
"chars": 1230,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n <!-- This file was gen"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/MainView.axaml",
"chars": 1277,
"preview": "<Window\n x:Class=\"Demo.Avalonia.FluentTaskDialog.MainView\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"ht"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/MainView.axaml.cs",
"chars": 296,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/MainViewModel.cs",
"chars": 3342,
"preview": "using System.Collections.Generic;\nusing System.Reactive;\nusing System.Threading.Tasks;\nusing FluentAvalonia.UI.Controls"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/MessageView.axaml",
"chars": 603,
"preview": "<UserControl xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/MessageView.axaml.cs",
"chars": 309,
"preview": "using Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic partial class M"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/Program.cs",
"chars": 717,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\nclass Program\n{\n "
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/ViewLocator.cs",
"chars": 354,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\n/// <summary>\n/// Maps view mod"
},
{
"path": "samples/Avalonia/Demo.FluentTaskDialog/ViewModelBase.cs",
"chars": 111,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.FluentTaskDialog;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.Logging/AddTextDialog.axaml",
"chars": 1043,
"preview": "<Window\n x:Class=\"Demo.Logging.AddTextDialog\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas."
},
{
"path": "samples/Avalonia/Demo.Logging/AddTextDialog.axaml.cs",
"chars": 336,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Logging;\n\npublic partial class Add"
},
{
"path": "samples/Avalonia/Demo.Logging/AddTextDialogViewModel.cs",
"chars": 1073,
"preview": "using System;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\nusing ReactiveUI;\n\nnamespace Demo.Logging"
},
{
"path": "samples/Avalonia/Demo.Logging/App.axaml",
"chars": 742,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.Logging/App.axaml.cs",
"chars": 1449,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Controls.ApplicationLifetimes;\nusing Avalonia.Markup.Xaml;\nusing HanumanIns"
},
{
"path": "samples/Avalonia/Demo.Logging/Demo.Logging.csproj",
"chars": 1069,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net6.0</Ta"
},
{
"path": "samples/Avalonia/Demo.Logging/MainWindow.axaml",
"chars": 1145,
"preview": "<Window\n x:Class=\"Demo.Logging.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.micr"
},
{
"path": "samples/Avalonia/Demo.Logging/MainWindow.axaml.cs",
"chars": 346,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Logging;\n\npublic partial class Main"
},
{
"path": "samples/Avalonia/Demo.Logging/MainWindowViewModel.cs",
"chars": 1397,
"preview": "using System;\nusing System.Collections.ObjectModel;\nusing System.Threading.Tasks;\nusing System.Windows.Input;\nusing Han"
},
{
"path": "samples/Avalonia/Demo.Logging/Program.cs",
"chars": 688,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.ReactiveUI;\n\nnamespace Demo.Logging;\n\nclass Program\n{\n // Initializatio"
},
{
"path": "samples/Avalonia/Demo.Logging/ViewLocator.cs",
"chars": 332,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Logging;\n\n/// <summary>\n/// Maps view models to views in Av"
},
{
"path": "samples/Avalonia/Demo.Logging/ViewModelBase.cs",
"chars": 93,
"preview": "using ReactiveUI;\n\nnamespace Demo.Logging;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.MessageBox/App.axaml",
"chars": 868,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.MessageBox/App.axaml.cs",
"chars": 1388,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Markup.Xaml;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
},
{
"path": "samples/Avalonia/Demo.MessageBox/Demo.MessageBox.csproj",
"chars": 1426,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>WinExe</OutputType>\n <TargetFramework>net10.0</T"
},
{
"path": "samples/Avalonia/Demo.MessageBox/MainWindow.axaml",
"chars": 1556,
"preview": "<Window\n x:Class=\"Demo.Avalonia.MessageBox.MainWindow\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http:/"
},
{
"path": "samples/Avalonia/Demo.MessageBox/MainWindow.axaml.cs",
"chars": 294,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.MessageBox;\n\npublic parti"
},
{
"path": "samples/Avalonia/Demo.MessageBox/MainWindowViewModel.cs",
"chars": 3023,
"preview": "using System.Threading.Tasks;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mvv"
},
{
"path": "samples/Avalonia/Demo.MessageBox/Program.cs",
"chars": 711,
"preview": "using System;\nusing Avalonia;\nusing ReactiveUI.Avalonia;\n\nnamespace Demo.Avalonia.MessageBox;\n\nclass Program\n{\n // I"
},
{
"path": "samples/Avalonia/Demo.MessageBox/ViewLocator.cs",
"chars": 344,
"preview": "using HanumanInstitute.MvvmDialogs.Avalonia;\n\nnamespace Demo.Avalonia.MessageBox;\n\n/// <summary>\n/// Maps view models to"
},
{
"path": "samples/Avalonia/Demo.MessageBox/ViewModelBase.cs",
"chars": 105,
"preview": "using ReactiveUI;\n\nnamespace Demo.Avalonia.MessageBox;\n\npublic class ViewModelBase : ReactiveObject\n{\n}\n"
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/AddTextCustomDialog.cs",
"chars": 2228,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Threading.Tasks;\nusing Avalon"
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/AddTextCustomDialogViewModel.cs",
"chars": 1110,
"preview": "using System;\nusing System.Windows.Input;\nusing HanumanInstitute.MvvmDialogs;\nusing ReactiveUI;\n\nnamespace Demo.Avaloni"
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/AddTextDialog.axaml",
"chars": 1129,
"preview": "<Window\n x:Class=\"Demo.Avalonia.ModalCustomDialog.AddTextDialog\"\n xmlns=\"https://github.com/avaloniaui\"\n xmlns"
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/AddTextDialog.axaml.cs",
"chars": 307,
"preview": "using Avalonia;\nusing Avalonia.Controls;\nusing Avalonia.Markup.Xaml;\n\nnamespace Demo.Avalonia.ModalCustomDialog;\n\npubli"
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/App.axaml",
"chars": 768,
"preview": "<Application xmlns=\"https://github.com/avaloniaui\"\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n "
},
{
"path": "samples/Avalonia/Demo.ModalCustomDialog/App.axaml.cs",
"chars": 1521,
"preview": "using System;\nusing Avalonia;\nusing Avalonia.Markup.Xaml;\nusing HanumanInstitute.MvvmDialogs;\nusing HanumanInstitute.Mv"
}
]
// ... and 389 more files (download for full content)
About this extraction
This page contains the full source code of the mysteryx93/HanumanInstitute.MvvmDialogs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 589 files (838.2 KB), approximately 239.3k tokens, and a symbol index with 1348 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.