Andrei15193.Interactive 1.1.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Andrei15193.Interactive --version 1.1.0
NuGet\Install-Package Andrei15193.Interactive -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Andrei15193.Interactive" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Andrei15193.Interactive --version 1.1.0
#r "nuget: Andrei15193.Interactive, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Andrei15193.Interactive as a Cake Addin
#addin nuget:?package=Andrei15193.Interactive&version=1.1.0

// Install Andrei15193.Interactive as a Cake Tool
#tool nuget:?package=Andrei15193.Interactive&version=1.1.0

Project repository and documentation have been moved over to GitHub: https://github.com/Andrei15193/Andrei15193.Interactive.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated

Added DynamicPropertyEquatable, some collection controls, such as combo boxes, require that the selected item that we bind to to be in the collection we provide as ItemsSource. The DynamicPropertyEquatable and DynamicPropertyEquatableConverter help resolve this issue allowing a property path to be specified, in XAML, which should be used to compare items. this will allow the selected item to not necessarily be "part" (as in the exact same instance) of the collection provided to ItemsSource.

Added ProjectedObservableCollection, which is the equivalent of applying LINQ's Select on an ObservableCollection, used by DynamicPropertyEquatableConverter.

Added StatePageNavigators attached property which allows for page transitions to happen when an InteractiveViewModel chnages its state. The view model itself is obtained from the DataContext of the Page onto which IPageNavigator items are added.

Added ConfirmDialogCommand, a wrapper command that first displays a confirmation MessageDialog. If the user confirms then the wrapped command is executed.

Added MappingConverter, this is useful to map various InteractiveViewModel states to the same visual state.

Added ResourceMap. Sometimes it is useful to provide resources (e.g.: other interactive view models) through properties rather than have a huge parameter list on the constructor, not to mention that for store and windows phone apps action parameter-less public constructor needs to be provided in order specify its instantiation in XAML. Awaitable resources
aim to solve that problem by providing a task that can be awaited in an asynchronous method (e.g. the loading method of an InteractiveViewModel). The task will resume once a value has been set (which can happen after constructor has done initializing and the InteractiveViewModel is left in the loading state).

Added void returning methods for transitioning to initial states. Calling async methods in the constructor and having the operation fail or canceled may result in unexpected, difficult to debug, cases. Through this methods one can transition to an initial state. If it is an action state then an additional canceled and faulted state names (that must be quiet states) need to be specified in case the operation fails or is canceled.

Added CannotExecuteDialogCommand to accommodate for the bottom app bar button cases when a button does not change its enabled state eventhough the CanExecuteChanged event has been raised. This usually happens when there is a control covering the phone screen completely such as a ComboBox with many items. If the selected item is bound to an InteractiveViewModel property and upon selecting an item an ICommand that is bound to an AppBarButton on the BottomAppBar becomes enabled the button will not update.

ErrorContext and all methods using it have been marked with Obsolete. Allowing InteractiveViewModels to not transition to any state (because of an uncaught exception) and remain "stuck" in an action state leads to "partial" transitions and inconsistencies when using commands to trigger transitions.

ContentDialogPage has been marked with Obsolete. Asynchronous commands may trigger page navigation when it is not desired. Use StatePageNavigators instead to trigger page navigation when an InteractiveViewModel reaches a specific state.

Constraints has been marked with Obsolete. Having a static class to act as a container for constraints raises more issues than it solves (When and where should constraint registration happen? How is it ensured that it only happens once?). Instead of having a static container which increases coupling as it would be used extensively, have each constraint provided to consumers (dependency injection is one way to do it).