├── .editorconfig ├── .gitattributes ├── .github ├── FUNDING.yml └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── Nito.Mvvm.sln ├── README.md ├── examples └── CancellationExamples │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── CancellationExamples.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Worker.cs ├── future ├── Directory.Build.props ├── Directory.Build.targets ├── Nito.Mvvm.Async │ ├── AsyncCommand.cs │ ├── AsyncCommandBase.cs │ ├── CancelCommand.cs │ ├── CustomAsyncCommand.cs │ ├── IAsyncCommand.cs │ ├── Nito.Mvvm.Async.csproj │ └── NotifyTask.cs ├── icon.png └── project.props ├── src ├── Directory.Build.props ├── Directory.Build.targets ├── Nito.Mvvm.CalculatedProperties │ ├── CalculatedProperty.cs │ ├── DependencyTracker.cs │ ├── IProperty.cs │ ├── ISourceProperty.cs │ ├── ITargetProperty.cs │ ├── Nito.Mvvm.CalculatedProperties.csproj │ ├── PropertyHelper.cs │ ├── ReflectionHelper.cs │ ├── SourceProperty.cs │ └── TriggerProperty.cs ├── Nito.Mvvm.Core │ ├── CanExecuteChangedFactories.cs │ ├── ExplicitCanExecute.cs │ ├── ICanExecute.cs │ ├── ICanExecuteChanged.cs │ ├── IRaisePropertyChanged.cs │ ├── Nito.Mvvm.Core.csproj │ ├── PropertyChangedEventArgsCache.cs │ ├── PropertyChangedNotificationManager.cs │ ├── PropertyChangedSubscription.cs │ ├── StrongCanExecuteChanged.cs │ ├── ThreadAffinity.cs │ ├── WeakCanExecuteChanged.cs │ └── WeakCollection.cs ├── Nito.Mvvm │ └── Nito.Mvvm.csproj ├── icon.png └── project.props └── test ├── Async.UnitTests ├── Async.UnitTests.csproj ├── AsyncCommandUnitTests.cs ├── CancelCommandUnitTests.cs ├── CustomAsyncCommandUnitTests.cs ├── NotifyTaskUnitTests.cs └── TestUtils.cs ├── CalculatedProperties.UnitTests ├── BranchUnitTests.cs ├── CalculatedProperties.UnitTests.csproj ├── ChainUnitTests.cs ├── CollectionUnitTests.cs ├── ComparerUnitTests.cs ├── SimpleUnitTests.cs ├── TeeUnitTests.cs └── ViewModelBase.cs ├── Core.UnitTests ├── Core.UnitTests.csproj ├── ExplicitCanExecuteUnitTests.cs ├── PropertyChangedEventArgsCacheUnitTests.cs ├── PropertyChangedNotificationManagerUnitTests.cs ├── PropertyChangedSubscriptionUnitTests.cs └── WeakCanExecuteChangedUnitTests.cs └── Directory.Build.props /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [StephenCleary] 2 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/LICENSE -------------------------------------------------------------------------------- /Nito.Mvvm.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/Nito.Mvvm.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/README.md -------------------------------------------------------------------------------- /examples/CancellationExamples/App.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/App.config -------------------------------------------------------------------------------- /examples/CancellationExamples/App.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/App.xaml -------------------------------------------------------------------------------- /examples/CancellationExamples/App.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/App.xaml.cs -------------------------------------------------------------------------------- /examples/CancellationExamples/CancellationExamples.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/CancellationExamples.csproj -------------------------------------------------------------------------------- /examples/CancellationExamples/MainWindow.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/MainWindow.xaml -------------------------------------------------------------------------------- /examples/CancellationExamples/MainWindow.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/MainWindow.xaml.cs -------------------------------------------------------------------------------- /examples/CancellationExamples/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /examples/CancellationExamples/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Properties/Resources.Designer.cs -------------------------------------------------------------------------------- /examples/CancellationExamples/Properties/Resources.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Properties/Resources.resx -------------------------------------------------------------------------------- /examples/CancellationExamples/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Properties/Settings.Designer.cs -------------------------------------------------------------------------------- /examples/CancellationExamples/Properties/Settings.settings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Properties/Settings.settings -------------------------------------------------------------------------------- /examples/CancellationExamples/Worker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/examples/CancellationExamples/Worker.cs -------------------------------------------------------------------------------- /future/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Directory.Build.props -------------------------------------------------------------------------------- /future/Directory.Build.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Directory.Build.targets -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/AsyncCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/AsyncCommand.cs -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/AsyncCommandBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/AsyncCommandBase.cs -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/CancelCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/CancelCommand.cs -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/CustomAsyncCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/CustomAsyncCommand.cs -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/IAsyncCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/IAsyncCommand.cs -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/Nito.Mvvm.Async.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/Nito.Mvvm.Async.csproj -------------------------------------------------------------------------------- /future/Nito.Mvvm.Async/NotifyTask.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/Nito.Mvvm.Async/NotifyTask.cs -------------------------------------------------------------------------------- /future/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/icon.png -------------------------------------------------------------------------------- /future/project.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/future/project.props -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Directory.Build.props -------------------------------------------------------------------------------- /src/Directory.Build.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Directory.Build.targets -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/CalculatedProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/CalculatedProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/DependencyTracker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/DependencyTracker.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/IProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/IProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/ISourceProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/ISourceProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/ITargetProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/ITargetProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/Nito.Mvvm.CalculatedProperties.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/Nito.Mvvm.CalculatedProperties.csproj -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/PropertyHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/PropertyHelper.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/ReflectionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/ReflectionHelper.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/SourceProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/SourceProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.CalculatedProperties/TriggerProperty.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.CalculatedProperties/TriggerProperty.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/CanExecuteChangedFactories.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/CanExecuteChangedFactories.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/ExplicitCanExecute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/ExplicitCanExecute.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/ICanExecute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/ICanExecute.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/ICanExecuteChanged.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/ICanExecuteChanged.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/IRaisePropertyChanged.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/IRaisePropertyChanged.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/Nito.Mvvm.Core.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/Nito.Mvvm.Core.csproj -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/PropertyChangedEventArgsCache.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/PropertyChangedEventArgsCache.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/PropertyChangedNotificationManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/PropertyChangedNotificationManager.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/PropertyChangedSubscription.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/PropertyChangedSubscription.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/StrongCanExecuteChanged.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/StrongCanExecuteChanged.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/ThreadAffinity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/ThreadAffinity.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/WeakCanExecuteChanged.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/WeakCanExecuteChanged.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm.Core/WeakCollection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm.Core/WeakCollection.cs -------------------------------------------------------------------------------- /src/Nito.Mvvm/Nito.Mvvm.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/Nito.Mvvm/Nito.Mvvm.csproj -------------------------------------------------------------------------------- /src/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/icon.png -------------------------------------------------------------------------------- /src/project.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/src/project.props -------------------------------------------------------------------------------- /test/Async.UnitTests/Async.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/Async.UnitTests.csproj -------------------------------------------------------------------------------- /test/Async.UnitTests/AsyncCommandUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/AsyncCommandUnitTests.cs -------------------------------------------------------------------------------- /test/Async.UnitTests/CancelCommandUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/CancelCommandUnitTests.cs -------------------------------------------------------------------------------- /test/Async.UnitTests/CustomAsyncCommandUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/CustomAsyncCommandUnitTests.cs -------------------------------------------------------------------------------- /test/Async.UnitTests/NotifyTaskUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/NotifyTaskUnitTests.cs -------------------------------------------------------------------------------- /test/Async.UnitTests/TestUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Async.UnitTests/TestUtils.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/BranchUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/BranchUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/CalculatedProperties.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/CalculatedProperties.UnitTests.csproj -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/ChainUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/ChainUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/CollectionUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/CollectionUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/ComparerUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/ComparerUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/SimpleUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/SimpleUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/TeeUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/TeeUnitTests.cs -------------------------------------------------------------------------------- /test/CalculatedProperties.UnitTests/ViewModelBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/CalculatedProperties.UnitTests/ViewModelBase.cs -------------------------------------------------------------------------------- /test/Core.UnitTests/Core.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/Core.UnitTests.csproj -------------------------------------------------------------------------------- /test/Core.UnitTests/ExplicitCanExecuteUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/ExplicitCanExecuteUnitTests.cs -------------------------------------------------------------------------------- /test/Core.UnitTests/PropertyChangedEventArgsCacheUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/PropertyChangedEventArgsCacheUnitTests.cs -------------------------------------------------------------------------------- /test/Core.UnitTests/PropertyChangedNotificationManagerUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/PropertyChangedNotificationManagerUnitTests.cs -------------------------------------------------------------------------------- /test/Core.UnitTests/PropertyChangedSubscriptionUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/PropertyChangedSubscriptionUnitTests.cs -------------------------------------------------------------------------------- /test/Core.UnitTests/WeakCanExecuteChangedUnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Core.UnitTests/WeakCanExecuteChangedUnitTests.cs -------------------------------------------------------------------------------- /test/Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StephenCleary/Mvvm/HEAD/test/Directory.Build.props --------------------------------------------------------------------------------