Prism.Wpf Helper class for MVVM. Sets the AutoWireViewModel property to true for the . The AutoWireViewModel property will only be set to true if the view is a , the DataContext of the view is null, and the AutoWireViewModel property of the view is null. The View or ViewModel. Perform an on a view and ViewModel. The action will be performed on the view and its ViewModel if they implement . The parameter type. The view to perform the on. The to perform. Get an implementer from a View or ViewModel. If the view implements it will be returned. Otherwise if the view's implements it will be returned instead. The implementer type to get. The view to get from. View or ViewModel as . Class that wraps an object, so that other classes can notify for Change events. Typically, this class is set as a Dependency Property on DependencyObjects, and allows other classes to observe any changes in the Value. This class is required, because in Silverlight, it's not possible to receive Change notifications for Dependency properties that you do not own. The type of the property that's wrapped in the Observable object Identifies the Value property of the ObservableObject Event that gets invoked when the Value property changes. The value that's wrapped inside the ObservableObject. This class contains attached properties. Identifies the WindowStyle attached property. This attached property is used to specify the style of a . Gets the value for the attached property. The target element. The attached to the element. Sets the attached property. The target element. The Style to attach. Identifies the WindowStartupLocation attached property. This attached property is used to specify the startup location of a . Gets the value for the attached property. The target element. The attached to the element. Sets the attached property. The target element. The WindowStartupLocation to attach. Implements to show modal and non-modal dialogs. The dialog's ViewModel must implement IDialogAware. Initializes a new instance of the class. The Shows a modal dialog. The name of the dialog to show. The parameters to pass to the dialog. The action to perform when the dialog is closed. Shows the dialog window. The dialog window to show. If true; dialog is shown as a modal Create a new . The name of the hosting window registered with the IContainerRegistry. The created . Configure content. The name of the dialog to show. The hosting window. The parameters to pass to the dialog. Configure and events. The hosting window. The action to perform when the dialog is closed. Configure properties. The hosting window. The dialog to show. The dialog's ViewModel. Prism's default dialog host. DialogWindow The of the dialog. Initializes a new instance of the class. InitializeComponent Extensions for the IDialogService Shows a non-modal dialog. The DialogService The name of the dialog to show. The parameters to pass to the dialog. The action to perform when the dialog is closed. Shows a non-modal dialog. The DialogService The name of the dialog to show. The parameters to pass to the dialog. The action to perform when the dialog is closed. The name of the hosting window registered with the IContainerRegistry. Shows a non-modal dialog. The DialogService The name of the dialog to show. Shows a non-modal dialog. The DialogService The name of the dialog to show. The action to perform when the dialog is closed. Interface for a dialog hosting window. Dialog content. Close the window. The window's owner. Show a non-modal dialog. Show a modal dialog. The data context of the window. The data context must implement . Called when the window is loaded. Called when the window is closed. Called when the window is closing. The result of the dialog. The window style. extensions. Get the ViewModel from a . to get ViewModel from. ViewModel as a . Provides Dialog Parameter Keys for well known paramotors used by the The name of the window Flag to show the Dialog Modally or Non-Modally Determines if a has a binding set The to use to search for the property The property to search true if there is an active binding, otherwise false Base behavior to handle connecting a to a Command. The target object must derive from Control. CommandBehaviorBase can be used to provide new behaviors for commands. Constructor specifying the target object. The target object the behavior is attached to. If true the target object's IsEnabled property will update based on the commands ability to execute. If false the target object's IsEnabled property will not update. Corresponding command to be execute and monitored for . The parameter to supply the command during execution. Object to which this behavior is attached. Updates the target object's IsEnabled property based on the commands ability to execute. Executes the command, if it's set, providing the . Trigger action that executes a command when invoked. It also maintains the Enabled state of the target control based on the CanExecute method of the command. Dependency property identifying if the associated element should automatically be enabled or disabled based on the result of the Command's CanExecute Gets or sets whether or not the associated element will automatically be enabled or disabled based on the result of the commands CanExecute Dependency property identifying the command to execute when invoked. Gets or sets the command to execute when invoked. Dependency property identifying the command parameter to supply on command execution. Gets or sets the command parameter to supply on command execution. Dependency property identifying the TriggerParameterPath to be parsed to identify the child property of the trigger parameter to be used as the command parameter. Gets or sets the TriggerParameterPath value. Public wrapper of the Invoke method. Executes the command This parameter is passed to the command; the CommandParameter specified in the CommandParameterProperty is used for command invocation if not null. Sets the Command and CommandParameter properties to null. This method is called after the behavior is attached. It updates the command behavior's Command and CommandParameter properties if necessary. A CommandBehavior that exposes a public ExecuteCommand method. It provides the functionality to invoke commands and update Enabled state of the target control. It is not possible to make the inherit from , since the must already inherit from , so we chose to follow the aggregation approach. Constructor specifying the target object. The target object the behavior is attached to. Executes the command, if it's set. Provides Types and Services registered with the Container Usage as markup extension: ]]> Usage as XML element: ]]> Initializes a new instance of the class. Initializes a new instance of the class. The type to Resolve The type to Resolve The Name used to register the type with the Container Provide resolved object from extensions. Registers an object to be used as a dialog in the IDialogService. The Type of object to register as the dialog The unique name to register with the dialog. Registers an object to be used as a dialog in the IDialogService. The Type of object to register as the dialog The ViewModel to use as the DataContext for the dialog The unique name to register with the dialog. Registers an object that implements IDialogWindow to be used to host all dialogs in the IDialogService. The Type of the Window class that will be used to host dialogs in the IDialogService Registers an object that implements IDialogWindow to be used to host all dialogs in the IDialogService. The Type of the Window class that will be used to host dialogs in the IDialogService The name of the dialog window Registers an object for navigation The type of object to register The unique name to register with the object. Registers an object for navigation. The Type of the object to register as the view The unique name to register with the object. Registers an object for navigation with the ViewModel type to be used as the DataContext. The Type of object to register as the view The ViewModel to use as the DataContext for the view The unique name to register with the view Handles AppDomain's AssemblyResolve event to be able to load assemblies dynamically in the LoadFrom context, but be able to reference the type from assemblies loaded in the Load context. Registers the specified assembly and resolves the types in it when the AppDomain requests for it. The path to the assembly to load in the LoadFrom context. This method does not load the assembly immediately, but lazily until someone requests a declared in the assembly. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Calls . 2 Disposes the associated . When , it is being called from the Dispose method. A catalog built from a configuration file. Builds an instance of ConfigurationModuleCatalog with a as the default store. Gets or sets the store where the configuration is kept. Loads the catalog from the configuration. Defines a store for the module metadata. Gets the module configuration data. A instance. Represets a catalog created from a directory on disk. The directory catalog will scan the contents of a directory, locating classes that implement and add them to the catalog based on contents in their associated . Assemblies are loaded into a new application domain with ReflectionOnlyLoad. The application domain is destroyed once the assemblies have been discovered. The diretory catalog does not continue to monitor the directory after it has created the initialze catalog. Directory containing modules to search for. Drives the main logic of building the child domain and searching for the assemblies. Creates a new child domain and copies the evidence from a parent domain. The parent domain. The new child domain. Grabs the evidence and uses it to construct the new because in a ClickOnce execution environment, creating an will by default pick up the partial trust environment of the AppLaunch.exe, which was the root executable. The AppLaunch.exe does a create domain and applies the evidence from the ClickOnce manifests to create the domain that the application is actually executing in. This will need to be Full Trust for Prism applications. An is thrown if is null. Loads modules from an arbitrary location on the filesystem. This typeloader is only called if classes have a Ref parameter that starts with "file://". This class is only used on the Desktop version of the Prism Library. Initializes a new instance of the class. Initializes a new instance of the class. The assembly resolver. Raised repeatedly to provide progress as modules are loaded in the background. Raised when a module is loaded or fails to load. Evaluates the property to see if the current typeloader will be able to retrieve the . Returns true if the property starts with "file://", because this indicates that the file is a local file. Module that should have it's type loaded. if the current typeloader is able to retrieve the module, otherwise . An is thrown if is null. Retrieves the . Module that should have it's type loaded. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Calls . 2 Disposes the associated . When , it is being called from the Dispose method. Interface for classes that are responsible for resolving and loading assembly files. Load an assembly when it's required by the application. Defines a store for the module metadata. Gets the module configuration data. A instance. extensions. Adds the module to the . The catalog to add the module to. The to use. Collection of module names () of the modules on which the module to be added logically depends on. The type parameter. The same instance with the added module. Adds the module to the . The catalog to add the module to. Name of the module to be added. The to use. Collection of module names () of the modules on which the module to be added logically depends on. The type parameter. The same instance with the added module. Adds a groupless to the catalog. The catalog to add the module to. of the module to be added. Collection of module names () of the modules on which the module to be added logically depends on. The same instance with the added module. Adds a groupless to the catalog. The catalog to add the module to. of the module to be added. Stage on which the module to be added will be initialized. Collection of module names () of the modules on which the module to be added logically depends on. The same instance with the added module. Adds a groupless to the catalog. The catalog to add the module to. Name of the module to be added. of the module to be added. Collection of module names () of the modules on which the module to be added logically depends on. The same instance with the added module. Adds a groupless to the catalog. The catalog to add the module to. Name of the module to be added. of the module to be added. Stage on which the module to be added will be initialized. Collection of module names () of the modules on which the module to be added logically depends on. The same instance with the added module. Adds a groupless to the catalog. The catalog to add the module to. Name of the module to be added. of the module to be added. Reference to the location of the module to be added assembly. Stage on which the module to be added will be initialized. Collection of module names () of the modules on which the module to be added logically depends on. The same instance with the added module. Adds the module to the . The catalog to add the module to. The to use. The type parameter. The same instance with the added module. Adds the module to the . The catalog to add the module to. Name of the module to be added. The type parameter. The same instance with the added module. Adds the module to the . The catalog to add the module to. Name of the module to be added. The to use. The type parameter. The same instance with the added module. Creates and adds a to the catalog. The catalog to add the module to. Stage on which the module group to be added will be initialized. Reference to the location of the module group to be added. Collection of included in the group. The same with the added module group. Defines a model that can get the collection of . Gets the items in the . This property is mainly used to add s or s through XAML. The items in the catalog. Defines the interface for moduleTypeLoaders Evaluates the property to see if the current typeloader will be able to retrieve the . Module that should have it's type loaded. if the current typeloader is able to retrieve the module, otherwise . Retrieves the . Module that should have it's type loaded. Raised repeatedly to provide progress as modules are downloaded in the background. Raised when a module is loaded or fails to load. This event is raised once per ModuleInfo instance requested in . Indicates that the class should be considered a named module using the provided module name. Gets or sets the name of the module. The name of the module. Gets or sets the value indicating whether the module should be loaded OnDemand. When (default value), it indicates the module should be loaded as soon as it's dependencies are satisfied. Otherwise you should explicitly load this module via the . The holds information about the modules that can be used by the application. Each module is described in a class, that records the name, type and location of the module. It also verifies that the is internally valid. That means that it does not have: Circular dependencies Missing dependencies Invalid dependencies, such as a Module that's loaded at startup that depends on a module that might need to be retrieved. The also serves as a baseclass for more specialized Catalogs . Initializes a new instance of the class. Initializes a new instance of the class while providing an initial list of s. The initial list of modules. Creates a valid file uri to locate the module assembly file The relative path to the file The valid absolute file path A configuration element to declare module metadata. Initializes a new instance of . Initializes a new instance of . The assembly file where the module is located. The type of the module. The name of the module. This attribute specifies whether the module is loaded at startup. Gets or sets the assembly file. The assembly file. Gets or sets the module type. The module's type. Gets or sets the module name. The module's name. Gets or sets a value indicating whether the module should be loaded at startup. A value indicating whether the module should be loaded at startup. Gets or sets the modules this module depends on. The names of the modules that this depends on. A collection of . Initializes a new instance of . Initializes a new . The initial set of . An is thrown if is . Gets a value indicating whether an exception should be raised if a duplicate element is found. This property will always return true. A value. Gets the type of the . The of this collection. Gets the name used to identify this collection of elements in the configuration file when overridden in a derived class. The name of the collection; otherwise, an empty string. Gets the located at the specified index in the collection. The index of the element in the collection. A . Adds a to the collection. A instance. Tests if the collection contains the configuration for the specified module name. The name of the module to search the configuration for. if a configuration for the module is present; otherwise . Searches the collection for all the that match the specified predicate. A that implements the match test. A with the successful matches. An is thrown if is null. Creates a new . A . Gets the element key for a specified configuration element when overridden in a derived class. The to return the key for. An that acts as the key for the specified . A collection of . Initializes a new instance of . Initializes a new instance of . An array of with initial list of dependencies. Gets the type of the . The of this collection. Gets the name used to identify this collection of elements in the configuration file when overridden in a derived class. The name of the collection; otherwise, an empty string. Gets the located at the specified index in the collection. The index of the element in the collection. A . Creates a new . A . Gets the element key for a specified configuration element when overridden in a derived class. The to return the key for. An that acts as the key for the specified . A for module dependencies. Initializes a new instance of . Initializes a new instance of . A module name. Gets or sets the name of a module another module depends on. The name of a module another module depends on. Defines the metadata that describes a module. Initializes a new empty instance of . Initializes a new instance of . The module's name. The module 's AssemblyQualifiedName. The modules this instance depends on. An is thrown if is . Initializes a new instance of . The module's name. The module's type. Initializes a new instance of . The module's type. Initializes a new instance of . The module's type. The module's name. Initializes a new instance of . The module's type. The module's name. The module's . Gets or sets the name of the module. The name of the module. Gets or sets the module 's AssemblyQualifiedName. The type of the module. Gets or sets the list of modules that this module depends upon. The list of modules that this module depends upon. Specifies on which stage the Module will be initialized. Reference to the location of the module assembly. The following are examples of valid values: file://c:/MyProject/Modules/MyModule.dll for a loose DLL in WPF. Gets or sets the state of the with regards to the module loading and initialization process. Represents a group of instances that are usually deployed together. s are also used by the to prevent common deployment problems such as having a module that's required at startup that depends on modules that will only be downloaded on demand. The group also forwards and values to the s that it contains. Gets or sets the for the whole group. Any classes that are added after setting this value will also get this . The initialization mode. Gets or sets the value for the whole group. Any classes that are added after setting this value will also get this . The ref value will also be used by the to determine which to use. For example, using an "file://" prefix with a valid URL will cause the FileModuleTypeLoader to be used (Only available in the desktop version of CAL). The ref value that will be used. Adds an moduleInfo to the . The to the . Forwards and properties from this to . The module info to forward values to. An is thrown if is . Removes all s from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than 0. is multidimensional. -or- is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . Gets the number of elements contained in the . The number of elements contained in the . Gets a value indicating whether the is read-only. false, because the is not Read-Only. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds an item to the . The to add to the . Must be of type The position into which the new element was inserted. Determines whether the contains a specific value. The to locate in the . Must be of type true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The to locate in the . Must be of type The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The to insert into the . Must be of type is not a valid index in the . If is null. If is not of type Gets a value indicating whether the has a fixed size. false, because the does not have a fixed length. Removes the first occurrence of a specific object from the . The to remove from the . Must be of type Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . The is read-only. Gets or sets the at the specified index. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than zero. is multidimensional. -or- is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Gets or sets the at the specified index. The at the specified index Defines extension methods for the class. Adds a new module that is statically referenced to the specified module info group. The group where to add the module info in. The name for the module. The type for the module. This type should be a descendant of . The names for the modules that this module depends on. Returns the instance of the passed in module info group, to provide a fluid interface. Adds a new module that is statically referenced to the specified module info group. The group where to add the module info in. The type for the module. This type should be a descendant of . The names for the modules that this module depends on. Returns the instance of the passed in module info group, to provide a fluid interface. The name of the module will be the type name. Implements the interface. Handles loading of a module based on a type. Initializes a new instance of . The container that will be used to resolve the modules by specifying its type. Initializes the specified module. The module to initialize Handles any exception occurred in the module Initialization process, This method can be overridden to provide a different behavior. The module metadata where the error happened. The assembly name. The exception thrown that is the cause of the current error. Uses the container to resolve a new by specifying its . The module to create. A new instance of the module specified by . Uses the container to resolve a new by specifying its . The type name to resolve. This type must implement . A new instance of . Component responsible for coordinating the modules' type loading and module initialization process. Component responsible for coordinating the modules' type loading and module initialization process. Initializes an instance of the class. Service used for initialization of modules. Catalog that enumerates the modules to be loaded and initialized. The module catalog specified in the constructor. Gets all the classes that are in the . Raised repeatedly to provide progress as modules are loaded in the background. Raised when a module is loaded or fails to load. Initializes the modules marked as on the . Loads and initializes the module on the with the name . Name of the module requested for initialization. Checks if the module needs to be retrieved before it's initialized. Module that is being checked if needs retrieval. Loads the modules that are not initialized and have their dependencies loaded. Handles any exception occurred in the module typeloading process, and throws a . This method can be overridden to provide a different behavior. The module metadata where the error happened. The exception thrown that is the cause of the current error. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Calls . 2 Disposes the associated s. When , it is being called from the Dispose method. Returns the list of registered instances that will be used to load the types of modules. The module type loaders. A for module configuration. Gets or sets the collection of modules configuration. A of . Exception that's thrown when there is no registered in that can handle this particular type of module. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The message that describes the error. Initializes a new instance of the class with a specified error message. The message that describes the error. The inner exception Initializes the exception with a particular module, error message and inner exception that happened. The name of the module. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or a reference if no inner exception is specified. Initializes a new instance with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. A catalog built from a XAML file. Creates an instance of a XamlResourceCatalog. The name of the XAML file Creates an instance of a XamlResourceCatalog. The pack url of the XAML file resource Loads the catalog from the XAML file. Creates a from XAML. that contains the XAML declaration of the catalog. An instance of built from the XAML. Creates a from a XAML included as an Application Resource. Relative that identifies the XAML included as an Application Resource. An instance of build from the XAML. This class defines the attached property and related change handler that calls the ViewModelLocator in Prism.Mvvm. The AutoWireViewModel attached property. Gets the value for the attached property. The target element. The attached to the element. Sets the attached property. The target element. The value to attach. Sets the DataContext of a View. The View to set the DataContext on. The object to use as the DataContext for the View. Region that keeps all the views in it as active. Deactivation of views is not allowed. Gets a readonly view of the collection of all the active views in the region. These are all the added views. An of all the active views. Deactivate is not valid in this Region. This method will always throw . The view to deactivate. Every time this method is called. Populates the target region with the views registered to it in the . The key of this behavior. Creates a new instance of the AutoPopulateRegionBehavior associated with the received. that the behavior will monitor for views to populate the region. Attaches the AutoPopulateRegionBehavior to the Region. Returns a collection of views that will be added to the View collection. Adds a view into the views collection of this region. Handler of the event that fires when a new viewtype is registered to the registry. Although this is a public method to support Weak Delegates in Silverlight, it should not be called by the user. Defines a behavior that forwards the to the views in the region. The key of this behavior. Behavior's attached region. Attaches the behavior to the specified region. Behavior that removes the RegionManager attached property of all the views in a region once the RegionManager property of a region becomes null. This is useful when removing views with nested regions, to ensure these nested regions get removed from the RegionManager as well. This behavior does not apply by default. In order to activate it, the ClearChildViews attached property must be set to True in the view containing the affected child regions. The behavior key. This attached property can be defined on a view to indicate that regions defined in it must be removed from the region manager when the parent view gets removed from a region. Gets the ClearChildViews attached property from a DependencyObject. The object from which to get the value. The value of the ClearChildViews attached property in the target specified. Sets the ClearChildViews attached property in a DependencyObject. The object in which to set the value. The value of to set in the target object's ClearChildViews attached property. Subscribes to the 's PropertyChanged method to monitor its RegionManager property. Behavior that creates a new , when the control that will host the (see ) is added to the VisualTree. This behavior will use the class to find the right type of adapter to create the region. After the region is created, this behavior will detach. Attached property value inheritance is not available in Silverlight, so the current approach walks up the visual tree when requesting a region from a region manager. The is now responsible for walking up the Tree. Initializes a new instance of the class. The region adapter mappings, that are used to find the correct adapter for a given control type. The control type is determined by the value. Sets a class that interfaces between the 's static properties/events and this behavior, so this behavior can be tested in isolation. The region manager accessor. The element that will host the Region. The target element. Start monitoring the and the to detect when the becomes part of the Visual Tree. When that happens, the Region will be created and the behavior will . Stop monitoring the and the , so that this behavior can be garbage collected. Called when the is updating it's collection. This method has to be public, because it has to be callable using weak references in silverlight and other partial trust environments. The . The instance containing the event data. Method that will create the region, by calling the right . The target element that will host the . Name of the region. The created Add the instance of this class to to keep it alive Remove the instance of this class from so it can eventually be garbage collected Calls on Views and ViewModels removed from the collection. The View and/or ViewModels must implement for this behavior to work. The key of this behavior. Attaches the to the collection. Defines a that not allows extensible behaviors on regions which also interact with the target element that the is attached to. Gets or sets the that the is attached to. A that the is attached to. This is usually a that is part of the tree. Behavior that monitors a object and changes the value for the property when an object that implements gets added or removed from the collection. This class can also sync the active state for any scoped regions directly on the view based on the . If you use the method with the createRegionManagerScope option, the scoped manager will be attached to the view. Name that identifies the behavior in a collection of . The region that this behavior is extending Attaches the behavior to the specified region Detaches the behavior from the . Subscribes to a static event from the in order to register the target in a when one is available on the host control by walking up the tree and finding a control whose property is not . The key of this behavior. Initializes a new instance of . Provides an abstraction on top of the RegionManager static members. Gets or sets the that the is attached to. A that the is attached to. This is usually a that is part of the tree. When this member is set after the method has being called. When the has a name assigned, the behavior will start monitoring the ancestor controls in the element tree to look for an where to register the region in. This event handler gets called when a RegionManager is requering the instances of a region to be registered if they are not already. Although this is a public method to support Weak Delegates in Silverlight, it should not be called by the user. The sender. The arguments. The RegionMemberLifetimeBehavior determines if items should be removed from the when they are deactivated. The monitors the collection to discover items that transition into a deactivated state.

The behavior checks the removed items for either the or the (in that order) to determine if it should be kept alive on removal.

If the item in the collection is a , it will also check it's DataContext for or the .

The order of checks are: Region Item's IRegionMemberLifetime.KeepAlive value. Region Item's DataContext's IRegionMemberLifetime.KeepAlive value. Region Item's RegionMemberLifetimeAttribute.KeepAlive value. Region Item's DataContext's RegionMemberLifetimeAttribute.KeepAlive value.

The key for this behavior.
Override this method to perform the logic after the behavior has been attached. Defines the attached behavior that keeps the items of the host control in synchronization with the . This behavior also makes sure that, if you activate a view in a region, the SelectedItem is set. If you set the SelectedItem or SelectedItems (ListBox) then this behavior will also call Activate on the selected items. When calling Activate on a view, you can only select a single active view at a time. By setting the SelectedItems property of a listbox, you can set multiple views to active. Name that identifies the SelectorItemsSourceSyncBehavior behavior in a collection of RegionsBehaviors. Gets or sets the that the is attached to. A that the is attached to. For this behavior, the host control must always be a or an inherited class. Starts to monitor the to keep it in sync with the items of the . Behavior that synchronizes the property of a with the control that hosts the Region. It does this by setting the Dependency Property on the host control. This behavior allows the usage of two way databinding of the RegionContext from XAML. Name that identifies the SyncRegionContextWithHostBehavior behavior in a collection of RegionsBehaviors. Gets or sets the that the is attached to. A that the is attached to. This is usually a that is part of the tree. Override this method to perform the logic after the behavior has been attached. Adapter that creates a new and monitors its active view to set it on the adapted . Initializes a new instance of . The factory used to create the region behaviors to attach to the created regions. Adapts a to an . The new region being used. The object to adapt. Creates a new instance of . A new instance of . Notification used by attached behaviors to update the region managers appropriately if needed to. This event uses weak references to the event handler to prevent this static event of keeping the target element longer than expected. Gets the value for the RegionName attached property. The object to adapt. This is typically a container (i.e a control). The name of the region that should be created when the RegionManager is also set in this element. Gets the value of the RegionName attached property. The target element. The attached to the element. Provides a way for objects involved in navigation to be notified of navigation activities. Provides compatibility for Legacy Prism.Wpf apps. Provides an abstraction on top of the RegionManager static members. Notification used by attached behaviors to update the region managers appropriately if needed to. This event uses weak references to the event handler to prevent this static event of keeping the target element longer than expected. Gets the value for the RegionName attached property. The object to adapt. This is typically a container (i.e a control). The name of the region that should be created when the RegionManager is also set in this element. Gets the value of the RegionName attached property. The target element. The attached to the element. Defines a class that wraps an item and adds metadata for it. The name of the wrapped item. Value indicating whether the wrapped item is considered active. Initializes a new instance of . The item to wrap. Gets the wrapped item. The wrapped item. Gets or sets a name for the wrapped item. The name of the wrapped item. Gets or sets a value indicating whether the wrapped item is considered active. if the item should be considered active; otherwise . Occurs when metadata on the item changes. Explicitly invokes to notify listeners. Adapter that creates a new and binds all the views to the adapted . Initializes a new instance of . The factory used to create the region behaviors to attach to the created regions. Adapts an to an . The new region being used. The object to adapt. Creates a new instance of . A new instance of . Implementation of that allows multiple active views. Initializes a new instance of . Occurs when a property value changes. Gets the collection of s that can extend the behavior of regions. Gets or sets a context for the region. This value can be used by the user to share context with the views. The context value to be shared. Gets the name of the region that uniquely identifies the region within a . The name of the region. Gets a readonly view of the collection of views in the region. An of all the added views. Gets a readonly view of the collection of all the active views in the region. An of all the active views. Gets or sets the comparison used to sort the views. The comparison to use. Gets or sets the that will be passed to the views when adding them to the region, unless the view is added by specifying createRegionManagerScope as . The where this is registered. This is usually used by implementations of and should not be used by the developer explicitly. Gets the navigation service. The navigation service. Gets the collection with all the views along with their metadata. An of with all the added views. Adds a new view to the region. Adds a new view to the region. The view to add. The that is set on the view if it is a . It will be the current region manager when using this overload. Adds a new view to the region. Adds a new view to the region. The view to add. The that is set on the view if it is a . It will be the current region manager when using this overload. Adds a new view to the region. The view to add. The name of the view. This can be used to retrieve it later by calling . The that is set on the view if it is a . It will be the current region manager when using this overload. Adds a new view to the region. The view to add. The name of the view. This can be used to retrieve it later by calling . When , the added view will receive a new instance of , otherwise it will use the current region manager for this region. The that is set on the view if it is a . Removes the specified view from the region. The view to remove. Removes all views from the region. Marks the specified view as active. The view to activate. Marks the specified view as inactive. The view to deactivate. Returns the view instance that was added to the region using a specific name. The name used when adding the view to the region. Returns the named view or if the view with does not exist in the current region. Initiates navigation to the specified target. The target. A callback to execute when the navigation request is completed. Initiates navigation to the specified target. The target. A callback to execute when the navigation request is completed. The navigation parameters specific to the navigation request. The default sort algorithm. The first view to compare. The second view to compare. Base class to facilitate the creation of implementations. Type of object to adapt. Initializes a new instance of . The factory used to create the region behaviors to attach to the created regions. Gets or sets the factory used to create the region behaviors to attach to the created regions. Adapts an object and binds it to a new . The object to adapt. The name of the region to be created. The new instance of that the is bound to. Adapts an object and binds it to a new . The object to adapt. The name of the region to be created. The new instance of that the is bound to. This methods performs validation to check that is of type . When is . When is not of type . This method adds the default behaviors by using the object. The region being used. The object to adapt. Template method to attach new behaviors. The region being used. The object to adapt. Template method to adapt the object to an . The new region being used. The object to adapt. Template method to create a new instance of that will be used to adapt the object. A new instance of . This class maps with . Registers the mapping between a type and an adapter. The type of the control. The adapter to use with the type. When any of or are . If a mapping for already exists. Registers the mapping between a type and an adapter. The type of the control Registers the mapping between a type and an adapter. The type of the control The type of the IRegionAdapter to use with the TControl Returns the adapter associated with the type provided. The type to obtain the mapped. The mapped to the . This class will look for a registered type for and if there is not any, it will look for a registered type for any of its ancestors in the class hierarchy. If there is no registered type for or any of its ancestors, an exception will be thrown. When there is no registered type for or any of its ancestors. Returns the adapter associated with the type provided. The control type used to obtain the mapped. The mapped to the . This class will look for a registered type for and if there is not any, it will look for a registered type for any of its ancestors in the class hierarchy. If there is no registered type for or any of its ancestors, an exception will be thrown. When there is no registered type for or any of its ancestors. Class that holds methods to Set and Get the RegionContext from a DependencyObject. RegionContext allows sharing of contextual information between the view that's hosting a and any views that are inside the Region. Returns an wrapper around the RegionContext value. The RegionContext will be set on any views (dependency objects) that are inside the collection by the Behavior. The RegionContext will also be set to the control that hosts the Region, by the Behavior. If the wrapper does not already exist, an empty one will be created. This way, an observer can notify when the value is set for the first time. Any view that hold the RegionContext value. Wrapper around the value. This class is responsible for maintaining a collection of regions and attaching regions to controls. This class supplies the attached properties that can be used for simple region creation from XAML. Identifies the RegionName attached property. When a control has both the and attached properties set to a value different than and there is a mapping registered for the control, it will create and adapt a new region for that control, and register it in the with the specified region name. Sets the attached property. The object to adapt. This is typically a container (i.e a control). The name of the region to register. Gets the value for the attached property. The object to adapt. This is typically a container (i.e a control). The name of the region that should be created when is also set in this element. Returns an wrapper that can hold an . Using this wrapper you can detect when an has been created by the . If the wrapper does not yet exist, a new wrapper will be created. When the region gets created and assigned to the wrapper, you can use the event to get notified of that change. The view that will host the region. Wrapper that can hold an value and can notify when the value changes. Identifies the RegionManager attached property. When a control has both the and attached properties set to a value different than and there is a mapping registered for the control, it will create and adapt a new region for that control, and register it in the with the specified region name. Gets the value of the attached property. The target element. The attached to the element. Sets the attached property. The target element. The value. Identifies the RegionContext attached property. Gets the value of the attached property. The target element. The region context to pass to the contained views. Sets the attached property. The target element. The value. Notification used by attached behaviors to update the region managers appropriately if needed to. This event uses weak references to the event handler to prevent this static event of keeping the target element longer than expected. Notifies attached behaviors to update the region managers appropriately if needed to. This method is normally called internally, and there is usually no need to call this from user code. Initializes a new instance of . Gets a collection of that identify each region by name. You can use this collection to add or remove regions to the current region manager. A with all the registered regions. Creates a new region manager. A new region manager that can be used as a different scope from the current region manager. Add a view to the Views collection of a Region. Note that the region must already exist in this . The name of the region to add a view to The view to add to the views collection The RegionManager, to easily add several views. Add a view to the Views collection of a Region. Note that the region must already exist in this . The name of the region to add a view to The view to add to the views collection The RegionManager, to easily add several views. Associate a view with a region, by registering a type. When the region get's displayed this type will be resolved using the ServiceLocator into a concrete instance. The instance will be added to the Views collection of the region The name of the region to associate the view with. The type of the view to register with the The , for adding several views easily Associate a view with a region, by registering a type. When the region get's displayed this type will be resolved using the ServiceLocator into a concrete instance. The instance will be added to the Views collection of the region The name of the region to associate the view with. The type of the view to register with the The , for adding several views easily Associate a view with a region, using a delegate to resolve a concrete instance of the view. When the region get's displayed, this delegate will be called and the result will be added to the views collection of the region. The name of the region to associate the view with. The delegate used to resolve a concrete instance of the view. The , for adding several views easily Navigates the specified region manager. The name of the region to call Navigate on. The URI of the content to display. The navigation callback. This method allows an IRegionManager to locate a specified region and navigate in it to the specified target Uri, passing a navigation callback and an instance of NavigationParameters, which holds a collection of object parameters. The name of the region where the navigation will occur. A Uri that represents the target where the region will navigate. The navigation callback that will be executed after the navigation is completed. An instance of NavigationParameters, which holds a collection of object parameters. Provides a new item for the region based on the supplied candidate target contract name. The target contract to build. An instance of an item to put into the . Adds a region to the with the name received as argument. The name to be given to the region. The region to be added to the . Thrown if is . Thrown if and 's name do not match and the is not . Implementation of that relies on a to create new views when necessary. Initializes a new instance of the class with a service locator. The . Gets the view to which the navigation request represented by applies. The region. The context representing the navigation request. The view to be the target of the navigation request. If none of the views in the region can be the target of the navigation request, a new view is created and added to the region. when a new view cannot be created for the navigation request. Adds the view to the region. The region to add the view to The view to add to the region Provides a new item for the region based on the supplied candidate target contract name. The target contract to build. An instance of an item to put into the . Returns the candidate TargetContract based on the . The navigation contract. The candidate contract to seek within the and to use, if not found, when resolving from the container. Returns the set of candidates that may satisfy this navigation request. The region containing items that may satisfy the navigation request. The candidate navigation target as determined by An enumerable of candidate objects from the Provides navigation for regions. Initializes a new instance of the class. The . The navigation target handler. The journal. Gets or sets the region. The region. Gets the journal. The journal. Raised when the region is about to be navigated to content. Raised when the region is navigated to content. Raised when a navigation request fails. Initiates navigation to the specified target. The target. A callback to execute when the navigation request is completed. Initiates navigation to the specified target. The target. A callback to execute when the navigation request is completed. The navigation parameters specific to the navigation request. Defines a registry for the content of the regions used on View Discovery composition. Creates a new instance of the class. used to create the instance of the views from its . Occurs whenever a new view is registered. Returns the contents registered for a region. Name of the region which content is being requested. The to use to get the View. Collection of contents registered for the region. Registers a content type with a region name. Region name to which the will be registered. Content type to be registered for the . Registers a delegate that can be used to retrieve the content associated with a region name. Region name to which the will be registered. Delegate used to retrieve the content associated with the . Associate a view with a region, by registering a type. When the region get's displayed this type will be resolved using the ServiceLocator into a concrete instance. The instance will be added to the Views collection of the region The name of the region to associate the view with. The type of the view to register with the The , for adding several views easily Creates an instance of a registered view . Type of the registered view. Instance of the registered view. Adapter that creates a new and binds all the views to the adapted . It also keeps the and the selected items of the in sync. Initializes a new instance of . The factory used to create the region behaviors to attach to the created regions. Adapts an to an . The new region being used. The object to adapt. Attach new behaviors. The region being used. The object to adapt. This class attaches the base behaviors and also listens for changes in the activity of the region or the control selection and keeps the in sync. Creates a new instance of . A new instance of . Region that allows a maximum of one active view at a time. Marks the specified view as active. The view to activate. If there is an active view before calling this method, that view will be deactivated automatically. Implementation of that takes an of and filters it to display an collection of elements (the items which the wraps). Initializes a new instance of the class. The list to wrap and filter. A predicate to filter the collection. Occurs when the collection changes. Gets or sets the comparison used to sort the views. The comparison to use. Determines whether the collection contains a specific value. The object to locate in the collection. if is found in the collection; otherwise, . Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Used to invoked the event. Removes all monitoring of underlying MetadataItems and re-adds them. Adds all underlying MetadataItems to the list from the subjectCollection Removes all monitored items from our monitoring list. Adds handler to monitor the MetadataItem and adds it to our monitoring list. Unhooks from the MetadataItem change event and removes from our monitoring list. Invoked when any of the underlying ItemMetadata items we're monitoring changes. The event handler due to changes in the underlying collection. Base application class that provides a basic initialization sequence This class must be overridden to provide application specific configuration. The dependency injection container used to resolve objects Raises the System.Windows.Application.Startup event. A System.Windows.StartupEventArgs that contains the event data. Run the initialization process. Configures the used by Prism. Runs the initialization sequence to configure the Prism application. Creates the container used by Prism. The container Creates the used by Prism. The base implementation returns a new ModuleCatalog. Registers all types that are required by Prism to function with the container. Used to register types with the container that will be used by your application. Configures the . This will be the list of default behaviors that will be added to a region. Configures the default region adapter mappings to use in the application, in order to adapt UI controls defined in XAML to use a region and register it automatically. May be overwritten in a derived class to add specific mappings required by the application. The instance containing all the mappings. Registers the s of the Exceptions that are not considered root exceptions by the . Creates the shell or main window of the application. The shell of the application. Initializes the shell. Contains actions that should occur last. Configures the used by Prism. Initializes the modules. Base class that provides a basic bootstrapping sequence and hooks that specific implementations can override This class must be overridden to provide application specific configuration. The dependency injection container used to resolve objects Gets the shell user interface The shell user interface. Runs the bootstrapper process. Configures the used by Prism. Runs the initialization sequence to configure the Prism application. Creates the container used by Prism. The container Creates the used by Prism. The base implementation returns a new ModuleCatalog. Registers all types that are required by Prism to function with the container. Used to register types with the container that will be used by your application. Configures the . This will be the list of default behaviors that will be added to a region. Configures the default region adapter mappings to use in the application, in order to adapt UI controls defined in XAML to use a region and register it automatically. May be overwritten in a derived class to add specific mappings required by the application. The instance containing all the mappings. Registers the s of the Exceptions that are not considered root exceptions by the . Creates the shell or main window of the application. The shell of the application. Initializes the shell. Contains actions that should occur last. Configures the used by Prism. Initializes the modules. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to The object must be of type '{0}' in order to use the current region adapter.. Looks up a localized string similar to Cannot change the region name once is set. The current region name is '{0}'.. Looks up a localized string similar to Cannot create navigation target '{0}'.. Looks up a localized string similar to Type '{0}' does not implement from IRegionBehavior.. Looks up a localized string similar to The ConfigurationStore cannot contain a null value. . Looks up a localized string similar to ContentControl's Content property is not empty. This control is being associated with a region, but the control is already bound to something else. If you did not explicitly set the control's Content property, this exception may be caused by a change in the value of the inherited RegionManager attached property.. Looks up a localized string similar to Deactivation is not possible in this type of region.. Looks up a localized string similar to {1}: {2}. Priority: {3}. Timestamp:{0:u}.. Looks up a localized string similar to Neither the executeMethod nor the canExecuteMethod delegates can be null.. Looks up a localized string similar to T for DelegateCommand<T> is not an object nor Nullable.. Looks up a localized string similar to Directory {0} was not found.. Looks up a localized string similar to A duplicated module group with name {0} has been found by the loader.. Looks up a localized string similar to Unable to retrieve the module type {0} from the loaded assemblies. You may need to specify a more fully-qualified type name.. Looks up a localized string similar to HostControl cannot have null value when behavior attaches. . Looks up a localized string similar to The HostControl property cannot be set after Attach method has been called.. Looks up a localized string similar to HostControl type must be a TabControl.. Looks up a localized string similar to The IModuleEnumerator interface is no longer used and has been replaced by ModuleCatalog.. Looks up a localized string similar to The argument must be a valid absolute Uri to an assembly file.. Looks up a localized string similar to The Target of the IDelegateReference should be of type {0}.. Looks up a localized string similar to ItemsControl's ItemsSource property is not empty. This control is being associated with a region, but the control is already bound to something else. If you did not explicitly set the control's ItemSource property, this exception may be caused by a change in the value of the inherited RegionManager attached property.. Looks up a localized string similar to Mapping with the given type is already registered: {0}.. Looks up a localized string similar to Module {0} was not found in the catalog.. Looks up a localized string similar to The ModulePath cannot contain a null value or be empty. Looks up a localized string similar to Failed to load type '{0}' from assembly '{1}'.. Looks up a localized string similar to The ModuleCatalog must implement IModuleGroupCatalog to add groups. Looks up a localized string similar to Navigation is already in progress on region with name '{0}'.. Looks up a localized string similar to Navigation cannot proceed until a region is set for the RegionNavigationService.. Looks up a localized string similar to The IRegionAdapter for the type {0} is not registered in the region adapter mappings. You can register an IRegionAdapter for this control by overriding the ConfigureRegionAdapterMappings method in the bootstrapper.. Looks up a localized string similar to There is currently no moduleTypeLoader in the ModuleManager that can retrieve the specified module.. Looks up a localized string similar to An exception has occurred while trying to add a view to region '{0}'. - The most likely causing exception was was: '{1}'. But also check the InnerExceptions for more detail or call .GetRootException(). . Looks up a localized string similar to The member access expression does not access a property.. Looks up a localized string similar to The expression is not a member access expression.. Looks up a localized string similar to The referenced property is a static property.. Looks up a localized string similar to The Attach method cannot be called when Region property is null.. Looks up a localized string similar to The Region property cannot be set after Attach method has been called.. Looks up a localized string similar to An exception occurred while creating a region with name '{0}'. The exception was: {1}. . Looks up a localized string similar to The region being added already has a name of '{0}' and cannot be added to the region manager with a different name ('{1}').. Looks up a localized string similar to The region name cannot be null or empty.. Looks up a localized string similar to Region with the given name is already registered: {0}. Looks up a localized string similar to This RegionManager does not contain a Region with the name '{0}'.. Looks up a localized string similar to The region manager does not contain the {0} region.. Looks up a localized string similar to View already exists in region.. Looks up a localized string similar to View with name '{0}' already exists in the region.. Looks up a localized string similar to The provided String argument {0} must not be null or empty.. Looks up a localized string similar to The provided String argument {0} must not be null or empty.. Looks up a localized string similar to No BehaviorType with key '{0}' was registered.. Looks up a localized string similar to An exception occurred while trying to create region objects. - The most likely causing exception was: '{0}'. But also check the InnerExceptions for more detail or call .GetRootException(). . Looks up a localized string similar to The value must be of type ModuleInfo.. Looks up a localized string similar to {0} not found.. Looks up a localized string similar to The region does not contain the specified view.. Class that provides extension methods to Collection Add a range of items to a collection. Type of objects within the collection. The collection to add items to. The items to add to the collection. The collection. An is thrown if or is . Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Indicates that certain members on a specified are accessed dynamically, for example through . This allows tools to understand which members are being accessed during the execution of a program. This attribute is valid on members whose type is or . When this attribute is applied to a location of type , the assumption is that the string represents a fully qualified type name. When this attribute is applied to a class, interface, or struct, the members specified can be accessed dynamically on instances returned from calling on instances of that class, interface, or struct. If the attribute is applied to a method it's treated as a special case and it implies the attribute should be applied to the "this" parameter of the method. As such the attribute should only be used on instance methods of types assignable to System.Type (or string, but no methods will use it there). Initializes a new instance of the class with the specified member types. The types of members dynamically accessed. Gets the which specifies the type of members dynamically accessed. Specifies the types of members that are dynamically accessed. This enumeration has a attribute that allows a bitwise combination of its member values. Specifies no members. Specifies the default, parameterless public constructor. Specifies all public constructors. Specifies all non-public constructors. Specifies all public methods. Specifies all non-public methods. Specifies all public fields. Specifies all non-public fields. Specifies all public nested types. Specifies all non-public nested types. Specifies all public properties. Specifies all non-public properties. Specifies all public events. Specifies all non-public events. Specifies all interfaces implemented by the type. Specifies all members. Reserved to be used by the compiler for tracking metadata. This class should not be used by developers in source code.