This commit is contained in:
Laurent Bugnion 2011-12-10 17:55:41 +01:00
Коммит 6d2905f1ab
1194 изменённых файлов: 224093 добавлений и 0 удалений

58
.hgignore Normal file
Просмотреть файл

@ -0,0 +1,58 @@
# Ignore file for Visual Studio 2010
# use glob syntax
syntax: glob
# Ignore Studio files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
*.sdf
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_Resharper.*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
glob:MvvmLightToolkitSetupBAK/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight/
glob:VS10/GalaSoft.MvvmLight - TEMPO/
glob:MvvmLightToolkitSetup/_ReSharper.MvvmLightToolkitSetup/
glob:GalaSoft.MvvmLight/GalaSoft.MvvmLight (SL4)/_ReSharper.GalaSoft.MvvmLight (SL4)/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (NET35)/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (NET4)/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (SL3)/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (SL4)/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (WP7)/
glob:Experiments/New VML experiment 3/MvvmLight1/_ReSharper.MvvmLight1/
glob:Experiments/InpcPerfTest/_ReSharper.InpcPerfTest/
glob:Experiments/UniversalConverter/_ReSharper.UniversalConverter/
glob:Experiments/TriggerToStoryboard/_ReSharper.MvvmLight1/
glob:commonservicelocator-27688/main/_ReSharper.Microsoft.Practices.ServiceLocation/
glob:ProjectForTemplate/_ReSharper.ProjectForTemplate/
glob:Installer/_ReSharper.Installer/
glob:GalaSoft.MvvmLight/_ReSharper.GalaSoft.MvvmLight (WP71)
glob:GalaSoft.MvvmLight/GalaSoft.MvvmLight (NET35).sln.docstates
glob:ProjectForTemplates/_ReSharper.ProjectForTemplates/
glob:Snippets/_ReSharper.Snippets/
glob:CleanOldFiles/_ReSharper.CleanOldFiles
glob:*.sln.docstates

Просмотреть файл

@ -0,0 +1,34 @@
# Ignore file for Visual Studio 2010
# use glob syntax
syntax: glob
# Ignore Studio files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_Resharper.*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml

Просмотреть файл

@ -0,0 +1,280 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.
</param>
<exception cref="T:System.ArgumentNullException">
The <paramref name="info" /> parameter is null.
</exception>
<exception cref="T:System.Runtime.Serialization.SerializationException">
The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0).
</exception>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/NET35/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/NET35/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

1011
GalaSoft.MvvmLight/External/NET35/System.Windows.Interactivity.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,280 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.
</param>
<exception cref="T:System.ArgumentNullException">
The <paramref name="info" /> parameter is null.
</exception>
<exception cref="T:System.Runtime.Serialization.SerializationException">
The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0).
</exception>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/NET4/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/NET4/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

1072
GalaSoft.MvvmLight/External/NET4/System.Windows.Interactivity.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,263 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/SL3/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/SL3/Microsoft.Silverlight.Testing.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/SL3/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/SL3/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

964
GalaSoft.MvvmLight/External/SL3/System.Windows.Interactivity.xml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,964 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Windows.Interactivity</name>
</assembly>
<members>
<member name="T:System.Windows.Interactivity.AttachableCollection`1">
<summary>
Represents a collection of IAttachedObject with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="T:System.Windows.Interactivity.IAttachedObject">
<summary>
An interface for an object that can be attached to another object.
</summary>
</member>
<member name="M:System.Windows.Interactivity.IAttachedObject.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
</member>
<member name="M:System.Windows.Interactivity.IAttachedObject.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.IAttachedObject.AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
<remarks>Represents the object the instance is attached to.</remarks>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.AttachableCollection`1"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.ItemAdded(`0)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.ItemRemoved(`0)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.VerifyAdd(`0)">
<exception cref="T:System.InvalidOperationException">Cannot add the instance to a collection more than once.</exception>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">The IAttachedObject is already attached to a different object.</exception>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.AttachableCollection`1.AssociatedObject">
<summary>
The object on which the collection is hosted.
</summary>
</member>
<member name="P:System.Windows.Interactivity.AttachableCollection`1.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="T:System.Windows.Interactivity.Behavior`1">
<summary>
Encapsulates state information and zero or more ICommands into an attachable object.
</summary>
<typeparam name="T">The type the <see cref="T:System.Windows.Interactivity.Behavior`1"/> can be attached to.</typeparam>
<remarks>
Behavior is the base class for providing attachable state and commands to an object.
The types the Behavior can be attached to can be controlled by the generic parameter.
Override OnAttached() and OnDetaching() methods to hook and unhook any necessary handlers
from the AssociatedObject.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.Behavior">
<summary>
Encapsulates state information and zero or more ICommands into an attachable object.
</summary>
<remarks>This is an infrastructure class. Behavior authors should derive from Behavior&lt;T&gt; instead of from this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.OnAttached">
<summary>
Called after the behavior is attached to an AssociatedObject.
</summary>
<remarks>Override this to hook up functionality to the AssociatedObject.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.OnDetaching">
<summary>
Called when the behavior is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
<remarks>Override this to unhook functionality from the AssociatedObject.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">The Behavior is already hosted on a different element.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the Behavior type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.Behavior.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.AssociatedType">
<summary>
The type to which this behavior can be attached.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.AssociatedObject">
<summary>
Gets the object to which this behavior is attached.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.Behavior`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.Behavior`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior`1.AssociatedObject">
<summary>
Gets the object to which this <see cref="T:System.Windows.Interactivity.Behavior`1"/> is attached.
</summary>
</member>
<member name="T:System.Windows.Interactivity.BehaviorCollection">
<summary>
Represents a collection of behaviors with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.ItemAdded(System.Windows.Interactivity.Behavior)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.ItemRemoved(System.Windows.Interactivity.Behavior)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.CustomPropertyValueEditor">
<summary>
Enumerates possible values for reusable property value editors.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.Element">
<summary>
Uses the element picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.Storyboard">
<summary>
Uses the storyboard picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.StateName">
<summary>
Uses the state picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="T:System.Windows.Interactivity.CustomPropertyValueEditorAttribute">
<summary>
Associates the given editor type with the property on which the CustomPropertyValueEditor is applied.
</summary>
<remarks>Use this attribute to get improved design-time editing for properties that denote element (by name), storyboards, or states (by name).</remarks>
</member>
<member name="M:System.Windows.Interactivity.CustomPropertyValueEditorAttribute.#ctor(System.Windows.Interactivity.CustomPropertyValueEditor)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.CustomPropertyValueEditorAttribute"/> class.
</summary>
<param name="customPropertyValueEditor">The custom property value editor.</param>
</member>
<member name="P:System.Windows.Interactivity.CustomPropertyValueEditorAttribute.CustomPropertyValueEditor">
<summary>
Gets or sets the custom property value editor.
</summary>
<value>The custom property value editor.</value>
</member>
<member name="T:System.Windows.Interactivity.DefaultTriggerAttribute">
<summary>
Provides design tools information about what <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate for a given action or command.
</summary>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.#ctor(System.Type,System.Type,System.Object)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.DefaultTriggerAttribute"/> class.
</summary>
<param name="targetType">The type this attribute applies to.</param>
<param name="triggerType">The type of <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</param>
<param name="parameters">A single argument for the specified <see cref="T:System.Windows.Interactivity.TriggerBase"/>.</param>
<exception cref="T:System.ArgumentException"><c cref="F:System.Windows.Interactivity.DefaultTriggerAttribute.triggerType"/> is not derived from TriggerBase.</exception>
<remarks>This constructor is useful if the specifed <see cref="T:System.Windows.Interactivity.TriggerBase"/> has a single argument. The
resulting code will be CLS compliant.</remarks>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.#ctor(System.Type,System.Type,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.DefaultTriggerAttribute"/> class.
</summary>
<param name="targetType">The type this attribute applies to.</param>
<param name="triggerType">The type of <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</param>
<param name="parameters">The constructor arguments for the specified <see cref="T:System.Windows.Interactivity.TriggerBase"/>.</param>
<exception cref="T:System.ArgumentException"><c cref="F:System.Windows.Interactivity.DefaultTriggerAttribute.triggerType"/> is not derived from TriggerBase.</exception>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.Instantiate">
<summary>
Instantiates this instance.
</summary>
<returns>The <see cref="T:System.Windows.Interactivity.TriggerBase"/> specified by the DefaultTriggerAttribute.</returns>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.TargetType">
<summary>
Gets the type that this DefaultTriggerAttribute applies to.
</summary>
<value>The type this DefaultTriggerAttribute applies to.</value>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.TriggerType">
<summary>
Gets the type of the <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.
</summary>
<value>The type of the <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</value>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.Parameters">
<summary>
Gets the parameters to pass to the <see cref="T:System.Windows.Interactivity.TriggerBase"/> constructor.
</summary>
<value>The parameters to pass to the <see cref="T:System.Windows.Interactivity.TriggerBase"/> constructor.</value>
</member>
<member name="T:System.Windows.Interactivity.EventTrigger">
<summary>
A trigger that listens for a specified event on its source and fires when that event is fired.
</summary>
</member>
<member name="T:System.Windows.Interactivity.EventTriggerBase`1">
<summary>
Represents a trigger that can listen to an element other than its AssociatedObject.
</summary>
<typeparam name="T">The type that this trigger can be associated with.</typeparam>
<remarks>
EventTriggerBase extends TriggerBase to add knowledge of another element than the one it is attached to.
This allows a user to attach a Trigger/Action pair to one element and invoke the Action in response to a
change in another element somewhere else. Override OnSourceChanged to hook or unhook handlers on the source
element, and OnAttached/OnDetaching for the associated element. The type of the Source element can be
constrained by the generic type parameter. If you need control over the type of the
AssociatedObject, set a TypeConstraintAttribute on your derived type.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.EventTriggerBase">
<summary>
Represents a trigger that can listen to an element other than its AssociatedObject.
</summary>
<remarks>This is an infrastructure class. Trigger authors should derive from EventTriggerBase&lt;T&gt; instead of this class.</remarks>
</member>
<member name="T:System.Windows.Interactivity.TriggerBase">
<summary>
Represents an object that can invoke Actions conditionally.
</summary>
<remarks>This is an infrastructure class. Trigger authors should derive from Trigger&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.InvokeActions(System.Object)">
<summary>
Invoke all Actions associated with this trigger.
</summary>
<remarks>Derived classes should call this to fire the trigger.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.OnAttached">
<summary>
Called after the trigger is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.OnDetaching">
<summary>
Called when the trigger is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">Cannot host the same Trigger on more than one object at a time.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the Trigger type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.AssociatedObject">
<summary>
Gets the object to which the trigger is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.Actions">
<summary>
Gets the actions associated with this trigger.
</summary>
<value>The actions associated with this trigger.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.GetEventName">
<summary>
Specifies the name of the Event this EventTriggerBase is listening for.
</summary>
<returns></returns>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnEvent(System.EventArgs)">
<summary>
Called when the event associated with this EventTriggerBase is fired. By default, this will invoke all actions on the trigger.
</summary>
<param name="eventArgs">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
<remarks>Override this to provide more granular control over when actions associated with this trigger will be invoked.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnSourceChangedImpl(System.Windows.DependencyObject,System.Windows.DependencyObject)">
<summary>
Called when the source changes.
</summary>
<param name="oldSource">The old source.</param>
<param name="newSource">The new source.</param>
<remarks>This function should be overridden in derived classes to hook functionality to and unhook functionality from the changing source objects.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnAttached">
<summary>
Called after the trigger is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnDetaching">
<summary>
Called when the trigger is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.RegisterEvent(System.Object,System.String)">
<exception cref="T:System.ArgumentException">Could not find eventName on the Target.</exception>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
<remarks>Define a TypeConstraintAttribute on a derived type to constrain the types it may be attached to.</remarks>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.SourceTypeConstraint">
<summary>
Gets the source type constraint.
</summary>
<value>The source type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.SourceName">
<summary>
Gets or sets the name of the element this EventTriggerBase listens for as a source. If the name is unset or cannot be resolved, the AssociatedObject will be used. This is a dependency property.
</summary>
<value>The name of the source element.</value>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.Source">
<summary>
Gets the resolved source. If <c ref="SourceName"/> is unset or cannot be resolved, defaults to AssociatedObject.
</summary>
<value>The resolved source object.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
<exception cref="T:System.InvalidOperationException">The element pointed to by <c cref="P:System.Windows.Interactivity.EventTriggerBase.Source"/> does not satisify the type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTriggerBase`1"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase`1.OnSourceChanged(`0,`0)">
<summary>
Called when the source property changes.
</summary>
<remarks>Override this to hook functionality to and unhook functionality from the specified Source, rather than the AssociatedObject.</remarks>
<param name="oldSource">The old source.</param>
<param name="newSource">The new source.</param>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase`1.Source">
<summary>
Gets the resolved source. If <c ref="SourceName"/> is not set or cannot be resolved, defaults to AssociatedObject.
</summary>
<value>The resolved source object.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTrigger.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTrigger"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTrigger.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTrigger"/> class.
</summary>
<param name="eventName">Name of the event.</param>
</member>
<member name="P:System.Windows.Interactivity.EventTrigger.EventName">
<summary>
Gets or sets the name of the event to listen for. This is a dependency property.
</summary>
<value>The name of the event.</value>
</member>
<member name="T:System.Windows.Interactivity.Interaction">
<summary>
Static class that owns the Triggers and Behaviors attached properties. Handles propagation of AssociatedObject change notifications.
</summary>
</member>
<member name="F:System.Windows.Interactivity.Interaction.TriggersProperty">
<summary>
This property is used as the internal backing store for the public Triggers attached property.
</summary>
</member>
<member name="F:System.Windows.Interactivity.Interaction.BehaviorsProperty">
<summary>
This property is used as the internal backing store for the public Behaviors attached property.
</summary>
</member>
<member name="M:System.Windows.Interactivity.Interaction.GetTriggers(System.Windows.DependencyObject)">
<summary>
Gets the TriggerCollection containing the triggers associated with the specified object.
</summary>
<param name="obj">The object from which to retrieve the triggers.</param>
<returns>A TriggerCollection containing the triggers associated with the specified object.</returns>
</member>
<member name="M:System.Windows.Interactivity.Interaction.GetBehaviors(System.Windows.DependencyObject)">
<summary>
Gets the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> associated with a specified object.
</summary>
<param name="obj">The object from which to retrieve the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/>.</param>
<returns>A <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> containing the behaviors associated with the specified object.</returns>
</member>
<member name="M:System.Windows.Interactivity.Interaction.OnBehaviorsChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<exception cref="T:System.InvalidOperationException">Cannot host the same BehaviorCollection on more than one object at a time.</exception>
</member>
<member name="M:System.Windows.Interactivity.Interaction.OnTriggersChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<exception cref="T:System.InvalidOperationException">Cannot host the same TriggerCollection on more than one object at a time.</exception>
</member>
<member name="M:System.Windows.Interactivity.Interaction.IsElementLoaded(System.Windows.FrameworkElement)">
<summary>
A helper function to take the place of FrameworkElement.IsLoaded, as Silverlight doesn't have a property like that.
</summary>
<param name="element">The element of interest.</param>
<returns>True if the element has been loaded; otherwise, false</returns>
</member>
<member name="T:System.Windows.Interactivity.InvokeCommandAction">
<summary>
Executes a specified Action on the host Behavior when invoked.
</summary>
</member>
<member name="T:System.Windows.Interactivity.TriggerAction`1">
<summary>
Represents an attachable object that encapsulates a unit of functionality.
</summary>
<typeparam name="T">The type to which this action can be attached.</typeparam>
</member>
<member name="T:System.Windows.Interactivity.TriggerAction">
<summary>
Represents an attachable object that encapsulates a unit of functionality.
</summary>
<remarks>This is an infrastructure class. Action authors should derive from TriggerAction&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.CallInvoke(System.Object)">
<summary>
Attempts to invoke the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Invoke(System.Object)">
<summary>
Invokes the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.OnAttached">
<summary>
Called after the action is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.OnDetaching">
<summary>
Called when the action is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">Cannot host the same TriggerAction on more than one object at a time.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the TriggerAction type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.IsEnabled">
<summary>
Gets or sets a value indicating whether this action will run when invoked. This is a dependency property.
</summary>
<value>
<c>true</c> if this action will be run when invoked; otherwise, <c>false</c>.
</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.AssociatedObject">
<summary>
Gets the object to which this Action is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.IsHosted">
<summary>
Gets or sets a value indicating whether this instance is attached.
</summary>
<value><c>true</c> if this instance is attached; otherwise, <c>false</c>.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerAction`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction`1.AssociatedObject">
<summary>
Gets the object to which this <see cref="T:System.Windows.Interactivity.TriggerAction`1"/> is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction`1.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="M:System.Windows.Interactivity.InvokeCommandAction.Invoke(System.Object)">
<summary>
Invokes the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.InvokeCommandAction.OnAttached">
<summary>
Called after the collection is attached to an AssociatedObject.
</summary>
<exception cref="T:System.InvalidOperationException">InvokeActionCommand must be hosted on a Behavior.</exception>
</member>
<member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandName">
<summary>
Gets or sets the name of the command this action should invoke.
</summary>
<value>The name of the command this action should invoke.</value>
</member>
<member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandParameter">
<summary>
Gets or sets the command parameter.
</summary>
<value>The command parameter.</value>
<remarks>This is the value passed to ICommand.CanExecute and ICommand.Execute.</remarks>
</member>
<member name="T:System.Windows.Interactivity.NameResolvedEventArgs">
<summary>
Provides data about which objects were affected when resolving a name change.
</summary>
</member>
<member name="T:System.Windows.Interactivity.NameResolver">
<summary>
Helper class to handle the logic of resolving a TargetName into a Target element
based on the context provided by a host element.
</summary>
</member>
<member name="M:System.Windows.Interactivity.NameResolver.UpdateObjectFromName(System.Windows.DependencyObject)">
<summary>
Attempts to update the resolved object from the name within the context of the namescope reference element.
</summary>
<param name="oldObject">The old resolved object.</param>
<remarks>
Resets the existing target and attempts to resolve the current TargetName from the
context of the current Host. If it cannot resolve from the context of Host, it will
continue up the visual tree until it resolves. If it has not resolved it when it reaches
the root, it will set the Target to null and write a warning message to Debug output.
</remarks>
</member>
<member name="E:System.Windows.Interactivity.NameResolver.ResolvedElementChanged">
<summary>
Occurs when the resolved element has changed.
</summary>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.Name">
<summary>
Gets or sets the name of the element to attempt to resolve.
</summary>
<value>The name to attempt to resolve.</value>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.Object">
<summary>
The resolved object. Will return the reference element is TargetName is null or empty, or if a resolve has not been attempted.
</summary>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.NameScopeReferenceElement">
<summary>
Gets or sets the reference element from which to perform the name resolution.
</summary>
<value>The reference element.</value>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.PendingReferenceElementLoad">
<summary>
Gets or sets a value indicating whether the reference element load is pending.
</summary>
<value>
<c>true</c> if [pending reference element load]; otherwise, <c>false</c>.
</value>
<remarks>
If the Host has not been loaded, the name will not be resolved.
In that case, delay the resolution and track that fact with this property.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.TargetedTriggerAction`1">
<summary>
Represents an action that can be targeted to affect an object other than its AssociatedObject.
</summary>
<typeparam name="T">The type constraint on the target.</typeparam>
<remarks>
TargetedTriggerAction extends TriggerAction to add knowledge of another element than the one it is attached to.
This allows a user to invoke the Action on an element other than the one it is attached to in response to a
Trigger firing. Override OnTargetChanged to hook or unhook handlers on the target element, and OnAttached/OnDetaching
for the associated element. The type of the Target element can be constrained by the generic type parameter. If
you need control over the type of the AssociatedObject, set a TypeConstraintAttribute on your derived type.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.TargetedTriggerAction">
<summary>
Represents an action that can be targeted to affect an object other than its AssociatedObject.
</summary>
<remarks>This is an infrastructure class. Action authors should derive from TargetedTriggerAction&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnTargetChangedImpl(System.Windows.DependencyObject,System.Windows.DependencyObject)">
<summary>
Called when the target changes.
</summary>
<param name="oldTarget">The old target.</param>
<param name="newTarget">The new target.</param>
<remarks>This function should be overriden in derived classes to hook and unhook functionality from the changing source objects.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnAttached">
<summary>
Called after the action is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnDetaching">
<summary>
Called when the action is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetName">
<summary>
Gets or sets the name of the target. If TargetName is unset or cannot be resolved, the target will default to the AssociatedObject. This is a dependency property.
</summary>
<value>The name of the target.</value>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.Target">
<summary>
Gets the target object. If TargetName is unset or cannot be resolved, defaults to the AssociatedObject.
</summary>
<value>The target.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
<exception cref="T:System.InvalidOperationException">The Target element does not satisfy the type constraint.</exception>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
<remarks>Define a TypeConstraintAttribute on a derived type to constrain the types it may be attached to.</remarks>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetTypeConstraint">
<summary>
Gets the target type constraint.
</summary>
<value>The target type constraint.</value>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TargetedTriggerAction`1"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction`1.OnTargetChanged(`0,`0)">
<summary>
Called when the target property changes.
</summary>
<remarks>Override this to hook and unhook functionality on the specified Target, rather than the AssociatedObject.</remarks>
<param name="oldTarget">The old target.</param>
<param name="newTarget">The new target.</param>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction`1.Target">
<summary>
Gets the target object. If TargetName is unset or cannot be resolved, defaults to the AssociatedObject.
</summary>
<value>The target.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
</member>
<member name="T:System.Windows.Interactivity.TriggerActionCollection">
<summary>
Represents a collection of actions with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerActionCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.ItemAdded(System.Windows.Interactivity.TriggerAction)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.ItemRemoved(System.Windows.Interactivity.TriggerAction)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.TriggerBase`1">
<summary>
Represents an object that can invoke Actions conditionally.
</summary>
<typeparam name="T">The type to which this trigger can be attached.</typeparam>
<remarks>
TriggerBase is the base class for controlling Actions. Override OnAttached() and
OnDetaching() to hook and unhook handlers on the AssociatedObject. You may
constrain the types that a derived TriggerBase may be attached to by specifying
the generic parameter. Call InvokeActions() to fire all Actions associated with
this TriggerBase.
</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerBase`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase`1.AssociatedObject">
<summary>
Gets the object to which the trigger is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase`1.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="T:System.Windows.Interactivity.TriggerCollection">
<summary>
Represents a collection of triggers with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.ItemAdded(System.Windows.Interactivity.TriggerBase)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.ItemRemoved(System.Windows.Interactivity.TriggerBase)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.TypeConstraintAttribute">
<summary>
Specify type constraints on the AssociatedObject of TargetedTriggerAction and EventTriggerBase.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TypeConstraintAttribute.#ctor(System.Type)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TypeConstraintAttribute"/> class.
</summary>
<param name="constraint">The constraint type.</param>
</member>
<member name="P:System.Windows.Interactivity.TypeConstraintAttribute.Constraint">
<summary>
Gets the constraint type.
</summary>
<value>The constraint type.</value>
</member>
<member name="T:System.Windows.Interactivity.ExceptionStringTable">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostBehaviorCollectionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot set the same BehaviorCollection on multiple objects..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostBehaviorMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to An instance of a Behavior cannot be attached to more than one object at a time..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerActionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot host an instance of a TriggerAction in multiple TriggerCollections simultaneously. Remove it from one TriggerCollection before adding it to another..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerCollectionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot set the same TriggerCollection on multiple objects..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to An instance of a trigger cannot be attached to more than one object at a time..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CommandDoesNotExistOnBehaviorWarningMessage">
<summary>
Looks up a localized string similar to The command &quot;{0}&quot; does not exist or is not publicly exposed on {1}..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.DefaultTriggerAttributeInvalidTriggerTypeSpecifiedExceptionMessage">
<summary>
Looks up a localized string similar to &quot;{0}&quot; is not a valid type for the TriggerType parameter. Make sure &quot;{0}&quot; derives from TriggerBase..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.DuplicateItemInCollectionExceptionMessage">
<summary>
Looks up a localized string similar to Cannot add the same instance of &quot;{0}&quot; to a &quot;{1}&quot; more than once..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.EventTriggerCannotFindEventNameExceptionMessage">
<summary>
Looks up a localized string similar to Cannot find an event named &quot;{0}&quot; on type &quot;{1}.&quot;.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.InvokeActionCommandMustBeHostedOnBehaviorExceptionMessage">
<summary>
Looks up a localized string similar to InvokeCommandAction must be attached to a Behavior. This can be done by adding it to the Actions collection of a Trigger in the Triggers collection of a Behavior object..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.RetargetedTypeConstraintViolatedExceptionMessage">
<summary>
Looks up a localized string similar to An object of type &quot;{0}&quot; cannot have a {3} property of type &quot;{1}&quot;. Instances of type &quot;{0}&quot; can have only a {3} property of type &quot;{2}&quot;..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.TypeConstraintViolatedExceptionMessage">
<summary>
Looks up a localized string similar to Cannot attach type &quot;{0}&quot; to type &quot;{1}&quot;. Instances of type &quot;{0}&quot; can only be attached to objects of type &quot;{2}&quot;..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.UnableToResolveTargetNameWarningMessage">
<summary>
Looks up a localized string similar to Unable to resolve TargetName &quot;{0}.&quot;.
</summary>
</member>
</members>
</doc>

Просмотреть файл

@ -0,0 +1,263 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/SL4/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/SL4/Microsoft.Silverlight.Testing.dll поставляемый Normal file

Двоичный файл не отображается.

14796
GalaSoft.MvvmLight/External/SL4/Microsoft.Silverlight.Testing.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/SL4/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll поставляемый Normal file

Двоичный файл не отображается.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/SL4/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

1025
GalaSoft.MvvmLight/External/SL4/System.Windows.Interactivity.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,263 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/SL5/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/SL5/Microsoft.Silverlight.Testing.dll поставляемый Normal file

Двоичный файл не отображается.

14796
GalaSoft.MvvmLight/External/SL5/Microsoft.Silverlight.Testing.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/SL5/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll поставляемый Normal file

Двоичный файл не отображается.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/SL5/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

1025
GalaSoft.MvvmLight/External/SL5/System.Windows.Interactivity.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,263 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/WP7/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/WP7/Microsoft.Silverlight.Testing.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/WP7/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/WP7/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

964
GalaSoft.MvvmLight/External/WP7/System.Windows.Interactivity.xml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,964 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Windows.Interactivity</name>
</assembly>
<members>
<member name="T:System.Windows.Interactivity.AttachableCollection`1">
<summary>
Represents a collection of IAttachedObject with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="T:System.Windows.Interactivity.IAttachedObject">
<summary>
An interface for an object that can be attached to another object.
</summary>
</member>
<member name="M:System.Windows.Interactivity.IAttachedObject.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
</member>
<member name="M:System.Windows.Interactivity.IAttachedObject.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.IAttachedObject.AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
<remarks>Represents the object the instance is attached to.</remarks>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.AttachableCollection`1"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.ItemAdded(`0)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.ItemRemoved(`0)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.VerifyAdd(`0)">
<exception cref="T:System.InvalidOperationException">Cannot add the instance to a collection more than once.</exception>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">The IAttachedObject is already attached to a different object.</exception>
</member>
<member name="M:System.Windows.Interactivity.AttachableCollection`1.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.AttachableCollection`1.AssociatedObject">
<summary>
The object on which the collection is hosted.
</summary>
</member>
<member name="P:System.Windows.Interactivity.AttachableCollection`1.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="T:System.Windows.Interactivity.Behavior`1">
<summary>
Encapsulates state information and zero or more ICommands into an attachable object.
</summary>
<typeparam name="T">The type the <see cref="T:System.Windows.Interactivity.Behavior`1"/> can be attached to.</typeparam>
<remarks>
Behavior is the base class for providing attachable state and commands to an object.
The types the Behavior can be attached to can be controlled by the generic parameter.
Override OnAttached() and OnDetaching() methods to hook and unhook any necessary handlers
from the AssociatedObject.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.Behavior">
<summary>
Encapsulates state information and zero or more ICommands into an attachable object.
</summary>
<remarks>This is an infrastructure class. Behavior authors should derive from Behavior&lt;T&gt; instead of from this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.OnAttached">
<summary>
Called after the behavior is attached to an AssociatedObject.
</summary>
<remarks>Override this to hook up functionality to the AssociatedObject.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.OnDetaching">
<summary>
Called when the behavior is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
<remarks>Override this to unhook functionality from the AssociatedObject.</remarks>
</member>
<member name="M:System.Windows.Interactivity.Behavior.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">The Behavior is already hosted on a different element.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the Behavior type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.Behavior.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.AssociatedType">
<summary>
The type to which this behavior can be attached.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.AssociatedObject">
<summary>
Gets the object to which this behavior is attached.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.Behavior`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.Behavior`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.Behavior`1.AssociatedObject">
<summary>
Gets the object to which this <see cref="T:System.Windows.Interactivity.Behavior`1"/> is attached.
</summary>
</member>
<member name="T:System.Windows.Interactivity.BehaviorCollection">
<summary>
Represents a collection of behaviors with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.ItemAdded(System.Windows.Interactivity.Behavior)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.BehaviorCollection.ItemRemoved(System.Windows.Interactivity.Behavior)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.CustomPropertyValueEditor">
<summary>
Enumerates possible values for reusable property value editors.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.Element">
<summary>
Uses the element picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.Storyboard">
<summary>
Uses the storyboard picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.StateName">
<summary>
Uses the state picker, if supported, to edit this property at design time.
</summary>
</member>
<member name="T:System.Windows.Interactivity.CustomPropertyValueEditorAttribute">
<summary>
Associates the given editor type with the property on which the CustomPropertyValueEditor is applied.
</summary>
<remarks>Use this attribute to get improved design-time editing for properties that denote element (by name), storyboards, or states (by name).</remarks>
</member>
<member name="M:System.Windows.Interactivity.CustomPropertyValueEditorAttribute.#ctor(System.Windows.Interactivity.CustomPropertyValueEditor)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.CustomPropertyValueEditorAttribute"/> class.
</summary>
<param name="customPropertyValueEditor">The custom property value editor.</param>
</member>
<member name="P:System.Windows.Interactivity.CustomPropertyValueEditorAttribute.CustomPropertyValueEditor">
<summary>
Gets or sets the custom property value editor.
</summary>
<value>The custom property value editor.</value>
</member>
<member name="T:System.Windows.Interactivity.DefaultTriggerAttribute">
<summary>
Provides design tools information about what <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate for a given action or command.
</summary>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.#ctor(System.Type,System.Type,System.Object)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.DefaultTriggerAttribute"/> class.
</summary>
<param name="targetType">The type this attribute applies to.</param>
<param name="triggerType">The type of <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</param>
<param name="parameters">A single argument for the specified <see cref="T:System.Windows.Interactivity.TriggerBase"/>.</param>
<exception cref="T:System.ArgumentException"><c cref="F:System.Windows.Interactivity.DefaultTriggerAttribute.triggerType"/> is not derived from TriggerBase.</exception>
<remarks>This constructor is useful if the specifed <see cref="T:System.Windows.Interactivity.TriggerBase"/> has a single argument. The
resulting code will be CLS compliant.</remarks>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.#ctor(System.Type,System.Type,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.DefaultTriggerAttribute"/> class.
</summary>
<param name="targetType">The type this attribute applies to.</param>
<param name="triggerType">The type of <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</param>
<param name="parameters">The constructor arguments for the specified <see cref="T:System.Windows.Interactivity.TriggerBase"/>.</param>
<exception cref="T:System.ArgumentException"><c cref="F:System.Windows.Interactivity.DefaultTriggerAttribute.triggerType"/> is not derived from TriggerBase.</exception>
</member>
<member name="M:System.Windows.Interactivity.DefaultTriggerAttribute.Instantiate">
<summary>
Instantiates this instance.
</summary>
<returns>The <see cref="T:System.Windows.Interactivity.TriggerBase"/> specified by the DefaultTriggerAttribute.</returns>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.TargetType">
<summary>
Gets the type that this DefaultTriggerAttribute applies to.
</summary>
<value>The type this DefaultTriggerAttribute applies to.</value>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.TriggerType">
<summary>
Gets the type of the <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.
</summary>
<value>The type of the <see cref="T:System.Windows.Interactivity.TriggerBase"/> to instantiate.</value>
</member>
<member name="P:System.Windows.Interactivity.DefaultTriggerAttribute.Parameters">
<summary>
Gets the parameters to pass to the <see cref="T:System.Windows.Interactivity.TriggerBase"/> constructor.
</summary>
<value>The parameters to pass to the <see cref="T:System.Windows.Interactivity.TriggerBase"/> constructor.</value>
</member>
<member name="T:System.Windows.Interactivity.EventTrigger">
<summary>
A trigger that listens for a specified event on its source and fires when that event is fired.
</summary>
</member>
<member name="T:System.Windows.Interactivity.EventTriggerBase`1">
<summary>
Represents a trigger that can listen to an element other than its AssociatedObject.
</summary>
<typeparam name="T">The type that this trigger can be associated with.</typeparam>
<remarks>
EventTriggerBase extends TriggerBase to add knowledge of another element than the one it is attached to.
This allows a user to attach a Trigger/Action pair to one element and invoke the Action in response to a
change in another element somewhere else. Override OnSourceChanged to hook or unhook handlers on the source
element, and OnAttached/OnDetaching for the associated element. The type of the Source element can be
constrained by the generic type parameter. If you need control over the type of the
AssociatedObject, set a TypeConstraintAttribute on your derived type.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.EventTriggerBase">
<summary>
Represents a trigger that can listen to an element other than its AssociatedObject.
</summary>
<remarks>This is an infrastructure class. Trigger authors should derive from EventTriggerBase&lt;T&gt; instead of this class.</remarks>
</member>
<member name="T:System.Windows.Interactivity.TriggerBase">
<summary>
Represents an object that can invoke Actions conditionally.
</summary>
<remarks>This is an infrastructure class. Trigger authors should derive from Trigger&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.InvokeActions(System.Object)">
<summary>
Invoke all Actions associated with this trigger.
</summary>
<remarks>Derived classes should call this to fire the trigger.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.OnAttached">
<summary>
Called after the trigger is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.OnDetaching">
<summary>
Called when the trigger is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">Cannot host the same Trigger on more than one object at a time.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the Trigger type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.AssociatedObject">
<summary>
Gets the object to which the trigger is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.Actions">
<summary>
Gets the actions associated with this trigger.
</summary>
<value>The actions associated with this trigger.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.GetEventName">
<summary>
Specifies the name of the Event this EventTriggerBase is listening for.
</summary>
<returns></returns>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnEvent(System.EventArgs)">
<summary>
Called when the event associated with this EventTriggerBase is fired. By default, this will invoke all actions on the trigger.
</summary>
<param name="eventArgs">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
<remarks>Override this to provide more granular control over when actions associated with this trigger will be invoked.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnSourceChangedImpl(System.Windows.DependencyObject,System.Windows.DependencyObject)">
<summary>
Called when the source changes.
</summary>
<param name="oldSource">The old source.</param>
<param name="newSource">The new source.</param>
<remarks>This function should be overridden in derived classes to hook functionality to and unhook functionality from the changing source objects.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnAttached">
<summary>
Called after the trigger is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.OnDetaching">
<summary>
Called when the trigger is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase.RegisterEvent(System.Object,System.String)">
<exception cref="T:System.ArgumentException">Could not find eventName on the Target.</exception>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
<remarks>Define a TypeConstraintAttribute on a derived type to constrain the types it may be attached to.</remarks>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.SourceTypeConstraint">
<summary>
Gets the source type constraint.
</summary>
<value>The source type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.SourceName">
<summary>
Gets or sets the name of the element this EventTriggerBase listens for as a source. If the name is unset or cannot be resolved, the AssociatedObject will be used. This is a dependency property.
</summary>
<value>The name of the source element.</value>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase.Source">
<summary>
Gets the resolved source. If <c ref="SourceName"/> is unset or cannot be resolved, defaults to AssociatedObject.
</summary>
<value>The resolved source object.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
<exception cref="T:System.InvalidOperationException">The element pointed to by <c cref="P:System.Windows.Interactivity.EventTriggerBase.Source"/> does not satisify the type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTriggerBase`1"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTriggerBase`1.OnSourceChanged(`0,`0)">
<summary>
Called when the source property changes.
</summary>
<remarks>Override this to hook functionality to and unhook functionality from the specified Source, rather than the AssociatedObject.</remarks>
<param name="oldSource">The old source.</param>
<param name="newSource">The new source.</param>
</member>
<member name="P:System.Windows.Interactivity.EventTriggerBase`1.Source">
<summary>
Gets the resolved source. If <c ref="SourceName"/> is not set or cannot be resolved, defaults to AssociatedObject.
</summary>
<value>The resolved source object.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
</member>
<member name="M:System.Windows.Interactivity.EventTrigger.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTrigger"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.EventTrigger.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.EventTrigger"/> class.
</summary>
<param name="eventName">Name of the event.</param>
</member>
<member name="P:System.Windows.Interactivity.EventTrigger.EventName">
<summary>
Gets or sets the name of the event to listen for. This is a dependency property.
</summary>
<value>The name of the event.</value>
</member>
<member name="T:System.Windows.Interactivity.Interaction">
<summary>
Static class that owns the Triggers and Behaviors attached properties. Handles propagation of AssociatedObject change notifications.
</summary>
</member>
<member name="F:System.Windows.Interactivity.Interaction.TriggersProperty">
<summary>
This property is used as the internal backing store for the public Triggers attached property.
</summary>
</member>
<member name="F:System.Windows.Interactivity.Interaction.BehaviorsProperty">
<summary>
This property is used as the internal backing store for the public Behaviors attached property.
</summary>
</member>
<member name="M:System.Windows.Interactivity.Interaction.GetTriggers(System.Windows.DependencyObject)">
<summary>
Gets the TriggerCollection containing the triggers associated with the specified object.
</summary>
<param name="obj">The object from which to retrieve the triggers.</param>
<returns>A TriggerCollection containing the triggers associated with the specified object.</returns>
</member>
<member name="M:System.Windows.Interactivity.Interaction.GetBehaviors(System.Windows.DependencyObject)">
<summary>
Gets the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> associated with a specified object.
</summary>
<param name="obj">The object from which to retrieve the <see cref="T:System.Windows.Interactivity.BehaviorCollection"/>.</param>
<returns>A <see cref="T:System.Windows.Interactivity.BehaviorCollection"/> containing the behaviors associated with the specified object.</returns>
</member>
<member name="M:System.Windows.Interactivity.Interaction.OnBehaviorsChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<exception cref="T:System.InvalidOperationException">Cannot host the same BehaviorCollection on more than one object at a time.</exception>
</member>
<member name="M:System.Windows.Interactivity.Interaction.OnTriggersChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
<exception cref="T:System.InvalidOperationException">Cannot host the same TriggerCollection on more than one object at a time.</exception>
</member>
<member name="M:System.Windows.Interactivity.Interaction.IsElementLoaded(System.Windows.FrameworkElement)">
<summary>
A helper function to take the place of FrameworkElement.IsLoaded, as Silverlight doesn't have a property like that.
</summary>
<param name="element">The element of interest.</param>
<returns>True if the element has been loaded; otherwise, false</returns>
</member>
<member name="T:System.Windows.Interactivity.InvokeCommandAction">
<summary>
Executes a specified Action on the host Behavior when invoked.
</summary>
</member>
<member name="T:System.Windows.Interactivity.TriggerAction`1">
<summary>
Represents an attachable object that encapsulates a unit of functionality.
</summary>
<typeparam name="T">The type to which this action can be attached.</typeparam>
</member>
<member name="T:System.Windows.Interactivity.TriggerAction">
<summary>
Represents an attachable object that encapsulates a unit of functionality.
</summary>
<remarks>This is an infrastructure class. Action authors should derive from TriggerAction&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.CallInvoke(System.Object)">
<summary>
Attempts to invoke the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Invoke(System.Object)">
<summary>
Invokes the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.OnAttached">
<summary>
Called after the action is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.OnDetaching">
<summary>
Called when the action is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Attach(System.Windows.DependencyObject)">
<summary>
Attaches to the specified object.
</summary>
<param name="dependencyObject">The object to attach to.</param>
<exception cref="T:System.InvalidOperationException">Cannot host the same TriggerAction on more than one object at a time.</exception>
<exception cref="T:System.InvalidOperationException">dependencyObject does not satisfy the TriggerAction type constraint.</exception>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction.Detach">
<summary>
Detaches this instance from its associated object.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.IsEnabled">
<summary>
Gets or sets a value indicating whether this action will run when invoked. This is a dependency property.
</summary>
<value>
<c>true</c> if this action will be run when invoked; otherwise, <c>false</c>.
</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.AssociatedObject">
<summary>
Gets the object to which this Action is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.IsHosted">
<summary>
Gets or sets a value indicating whether this instance is attached.
</summary>
<value><c>true</c> if this instance is attached; otherwise, <c>false</c>.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction.System#Windows#Interactivity#IAttachedObject#AssociatedObject">
<summary>
Gets the associated object.
</summary>
<value>The associated object.</value>
</member>
<member name="M:System.Windows.Interactivity.TriggerAction`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerAction`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction`1.AssociatedObject">
<summary>
Gets the object to which this <see cref="T:System.Windows.Interactivity.TriggerAction`1"/> is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerAction`1.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="M:System.Windows.Interactivity.InvokeCommandAction.Invoke(System.Object)">
<summary>
Invokes the action.
</summary>
<param name="parameter">The parameter to the action. If the Action does not require a parameter, the parameter may be set to a null reference.</param>
</member>
<member name="M:System.Windows.Interactivity.InvokeCommandAction.OnAttached">
<summary>
Called after the collection is attached to an AssociatedObject.
</summary>
<exception cref="T:System.InvalidOperationException">InvokeActionCommand must be hosted on a Behavior.</exception>
</member>
<member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandName">
<summary>
Gets or sets the name of the command this action should invoke.
</summary>
<value>The name of the command this action should invoke.</value>
</member>
<member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandParameter">
<summary>
Gets or sets the command parameter.
</summary>
<value>The command parameter.</value>
<remarks>This is the value passed to ICommand.CanExecute and ICommand.Execute.</remarks>
</member>
<member name="T:System.Windows.Interactivity.NameResolvedEventArgs">
<summary>
Provides data about which objects were affected when resolving a name change.
</summary>
</member>
<member name="T:System.Windows.Interactivity.NameResolver">
<summary>
Helper class to handle the logic of resolving a TargetName into a Target element
based on the context provided by a host element.
</summary>
</member>
<member name="M:System.Windows.Interactivity.NameResolver.UpdateObjectFromName(System.Windows.DependencyObject)">
<summary>
Attempts to update the resolved object from the name within the context of the namescope reference element.
</summary>
<param name="oldObject">The old resolved object.</param>
<remarks>
Resets the existing target and attempts to resolve the current TargetName from the
context of the current Host. If it cannot resolve from the context of Host, it will
continue up the visual tree until it resolves. If it has not resolved it when it reaches
the root, it will set the Target to null and write a warning message to Debug output.
</remarks>
</member>
<member name="E:System.Windows.Interactivity.NameResolver.ResolvedElementChanged">
<summary>
Occurs when the resolved element has changed.
</summary>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.Name">
<summary>
Gets or sets the name of the element to attempt to resolve.
</summary>
<value>The name to attempt to resolve.</value>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.Object">
<summary>
The resolved object. Will return the reference element is TargetName is null or empty, or if a resolve has not been attempted.
</summary>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.NameScopeReferenceElement">
<summary>
Gets or sets the reference element from which to perform the name resolution.
</summary>
<value>The reference element.</value>
</member>
<member name="P:System.Windows.Interactivity.NameResolver.PendingReferenceElementLoad">
<summary>
Gets or sets a value indicating whether the reference element load is pending.
</summary>
<value>
<c>true</c> if [pending reference element load]; otherwise, <c>false</c>.
</value>
<remarks>
If the Host has not been loaded, the name will not be resolved.
In that case, delay the resolution and track that fact with this property.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.TargetedTriggerAction`1">
<summary>
Represents an action that can be targeted to affect an object other than its AssociatedObject.
</summary>
<typeparam name="T">The type constraint on the target.</typeparam>
<remarks>
TargetedTriggerAction extends TriggerAction to add knowledge of another element than the one it is attached to.
This allows a user to invoke the Action on an element other than the one it is attached to in response to a
Trigger firing. Override OnTargetChanged to hook or unhook handlers on the target element, and OnAttached/OnDetaching
for the associated element. The type of the Target element can be constrained by the generic type parameter. If
you need control over the type of the AssociatedObject, set a TypeConstraintAttribute on your derived type.
</remarks>
</member>
<member name="T:System.Windows.Interactivity.TargetedTriggerAction">
<summary>
Represents an action that can be targeted to affect an object other than its AssociatedObject.
</summary>
<remarks>This is an infrastructure class. Action authors should derive from TargetedTriggerAction&lt;T&gt; instead of this class.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnTargetChangedImpl(System.Windows.DependencyObject,System.Windows.DependencyObject)">
<summary>
Called when the target changes.
</summary>
<param name="oldTarget">The old target.</param>
<param name="newTarget">The new target.</param>
<remarks>This function should be overriden in derived classes to hook and unhook functionality from the changing source objects.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnAttached">
<summary>
Called after the action is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction.OnDetaching">
<summary>
Called when the action is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetName">
<summary>
Gets or sets the name of the target. If TargetName is unset or cannot be resolved, the target will default to the AssociatedObject. This is a dependency property.
</summary>
<value>The name of the target.</value>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.Target">
<summary>
Gets the target object. If TargetName is unset or cannot be resolved, defaults to the AssociatedObject.
</summary>
<value>The target.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
<exception cref="T:System.InvalidOperationException">The Target element does not satisfy the type constraint.</exception>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.AssociatedObjectTypeConstraint">
<summary>
Gets the associated object type constraint.
</summary>
<value>The associated object type constraint.</value>
<remarks>Define a TypeConstraintAttribute on a derived type to constrain the types it may be attached to.</remarks>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetTypeConstraint">
<summary>
Gets the target type constraint.
</summary>
<value>The target type constraint.</value>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TargetedTriggerAction`1"/> class.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TargetedTriggerAction`1.OnTargetChanged(`0,`0)">
<summary>
Called when the target property changes.
</summary>
<remarks>Override this to hook and unhook functionality on the specified Target, rather than the AssociatedObject.</remarks>
<param name="oldTarget">The old target.</param>
<param name="newTarget">The new target.</param>
</member>
<member name="P:System.Windows.Interactivity.TargetedTriggerAction`1.Target">
<summary>
Gets the target object. If TargetName is unset or cannot be resolved, defaults to the AssociatedObject.
</summary>
<value>The target.</value>
<remarks>In general, this property should be used in place of AssociatedObject in derived classes.</remarks>
</member>
<member name="T:System.Windows.Interactivity.TriggerActionCollection">
<summary>
Represents a collection of actions with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerActionCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.ItemAdded(System.Windows.Interactivity.TriggerAction)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerActionCollection.ItemRemoved(System.Windows.Interactivity.TriggerAction)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.TriggerBase`1">
<summary>
Represents an object that can invoke Actions conditionally.
</summary>
<typeparam name="T">The type to which this trigger can be attached.</typeparam>
<remarks>
TriggerBase is the base class for controlling Actions. Override OnAttached() and
OnDetaching() to hook and unhook handlers on the AssociatedObject. You may
constrain the types that a derived TriggerBase may be attached to by specifying
the generic parameter. Call InvokeActions() to fire all Actions associated with
this TriggerBase.
</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerBase`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerBase`1"/> class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase`1.AssociatedObject">
<summary>
Gets the object to which the trigger is attached.
</summary>
<value>The associated object.</value>
</member>
<member name="P:System.Windows.Interactivity.TriggerBase`1.AssociatedObjectTypeConstraint">
<summary>
Gets the type constraint of the associated object.
</summary>
<value>The associated object type constraint.</value>
</member>
<member name="T:System.Windows.Interactivity.TriggerCollection">
<summary>
Represents a collection of triggers with a shared AssociatedObject and provides change notifications to its contents when that AssociatedObject changes.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TriggerCollection"/> class.
</summary>
<remarks>Internal, because this should not be inherited outside this assembly.</remarks>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.OnAttached">
<summary>
Called immediately after the collection is attached to an AssociatedObject.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.OnDetaching">
<summary>
Called when the collection is being detached from its AssociatedObject, but before it has actually occurred.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.ItemAdded(System.Windows.Interactivity.TriggerBase)">
<summary>
Called when a new item is added to the collection.
</summary>
<param name="item">The new item.</param>
</member>
<member name="M:System.Windows.Interactivity.TriggerCollection.ItemRemoved(System.Windows.Interactivity.TriggerBase)">
<summary>
Called when an item is removed from the collection.
</summary>
<param name="item">The removed item.</param>
</member>
<member name="T:System.Windows.Interactivity.TypeConstraintAttribute">
<summary>
Specify type constraints on the AssociatedObject of TargetedTriggerAction and EventTriggerBase.
</summary>
</member>
<member name="M:System.Windows.Interactivity.TypeConstraintAttribute.#ctor(System.Type)">
<summary>
Initializes a new instance of the <see cref="T:System.Windows.Interactivity.TypeConstraintAttribute"/> class.
</summary>
<param name="constraint">The constraint type.</param>
</member>
<member name="P:System.Windows.Interactivity.TypeConstraintAttribute.Constraint">
<summary>
Gets the constraint type.
</summary>
<value>The constraint type.</value>
</member>
<member name="T:System.Windows.Interactivity.ExceptionStringTable">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostBehaviorCollectionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot set the same BehaviorCollection on multiple objects..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostBehaviorMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to An instance of a Behavior cannot be attached to more than one object at a time..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerActionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot host an instance of a TriggerAction in multiple TriggerCollections simultaneously. Remove it from one TriggerCollection before adding it to another..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerCollectionMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to Cannot set the same TriggerCollection on multiple objects..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CannotHostTriggerMultipleTimesExceptionMessage">
<summary>
Looks up a localized string similar to An instance of a trigger cannot be attached to more than one object at a time..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.CommandDoesNotExistOnBehaviorWarningMessage">
<summary>
Looks up a localized string similar to The command &quot;{0}&quot; does not exist or is not publicly exposed on {1}..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.DefaultTriggerAttributeInvalidTriggerTypeSpecifiedExceptionMessage">
<summary>
Looks up a localized string similar to &quot;{0}&quot; is not a valid type for the TriggerType parameter. Make sure &quot;{0}&quot; derives from TriggerBase..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.DuplicateItemInCollectionExceptionMessage">
<summary>
Looks up a localized string similar to Cannot add the same instance of &quot;{0}&quot; to a &quot;{1}&quot; more than once..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.EventTriggerCannotFindEventNameExceptionMessage">
<summary>
Looks up a localized string similar to Cannot find an event named &quot;{0}&quot; on type &quot;{1}.&quot;.
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.InvokeActionCommandMustBeHostedOnBehaviorExceptionMessage">
<summary>
Looks up a localized string similar to InvokeCommandAction must be attached to a Behavior. This can be done by adding it to the Actions collection of a Trigger in the Triggers collection of a Behavior object..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.RetargetedTypeConstraintViolatedExceptionMessage">
<summary>
Looks up a localized string similar to An object of type &quot;{0}&quot; cannot have a {3} property of type &quot;{1}&quot;. Instances of type &quot;{0}&quot; can have only a {3} property of type &quot;{2}&quot;..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.TypeConstraintViolatedExceptionMessage">
<summary>
Looks up a localized string similar to Cannot attach type &quot;{0}&quot; to type &quot;{1}&quot;. Instances of type &quot;{0}&quot; can only be attached to objects of type &quot;{2}&quot;..
</summary>
</member>
<member name="P:System.Windows.Interactivity.ExceptionStringTable.UnableToResolveTargetNameWarningMessage">
<summary>
Looks up a localized string similar to Unable to resolve TargetName &quot;{0}.&quot;.
</summary>
</member>
</members>
</doc>

Просмотреть файл

@ -0,0 +1,263 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Implementation of <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.Properties.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivateAllExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}.
</summary>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.Properties.Resources.ActivationExceptionMessage">
<summary>
Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key &quot;{1}&quot;.
</summary>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/WP71/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
GalaSoft.MvvmLight/External/WP71/Microsoft.Silverlight.Testing.dll поставляемый Normal file

Двоичный файл не отображается.

14823
GalaSoft.MvvmLight/External/WP71/Microsoft.Silverlight.Testing.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/WP71/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll поставляемый Normal file

Двоичный файл не отображается.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
GalaSoft.MvvmLight/External/WP71/System.Windows.Interactivity.dll поставляемый Normal file

Двоичный файл не отображается.

1025
GalaSoft.MvvmLight/External/WP71/System.Windows.Interactivity.xml поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,44 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestFiles", "TestFiles", "{8600355D-FDA1-4DD8-B612-9DA9FF97D0D6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{352223A4-74F5-4031-8BC8-9E796AE8C805}"
ProjectSection(SolutionItems) = preProject
GalaSoft.MvvmLight (NET35)1.vsmdi = GalaSoft.MvvmLight (NET35)1.vsmdi
Local.testsettings = Local.testsettings
TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight (NET35)", "GalaSoft.MvvmLight (NET35)\GalaSoft.MvvmLight (NET35).csproj", "{ADB28C09-8DE9-4006-80D5-74856EB4A48B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Extras (NET35)", "GalaSoft.MvvmLight.Extras (NET35)\GalaSoft.MvvmLight.Extras (NET35).csproj", "{78EECC01-BAE7-4914-BE2D-6BAB1059F29B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Test (NET35)", "GalaSoft.MvvmLight.Test (NET35)\GalaSoft.MvvmLight.Test (NET35).csproj", "{D08856FE-520C-48D8-9C2F-69B9CFDB92BE}"
EndProject
Global
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = GalaSoft.MvvmLight (NET35)1.vsmdi
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ADB28C09-8DE9-4006-80D5-74856EB4A48B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADB28C09-8DE9-4006-80D5-74856EB4A48B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADB28C09-8DE9-4006-80D5-74856EB4A48B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADB28C09-8DE9-4006-80D5-74856EB4A48B}.Release|Any CPU.Build.0 = Release|Any CPU
{78EECC01-BAE7-4914-BE2D-6BAB1059F29B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{78EECC01-BAE7-4914-BE2D-6BAB1059F29B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78EECC01-BAE7-4914-BE2D-6BAB1059F29B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{78EECC01-BAE7-4914-BE2D-6BAB1059F29B}.Release|Any CPU.Build.0 = Release|Any CPU
{D08856FE-520C-48D8-9C2F-69B9CFDB92BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D08856FE-520C-48D8-9C2F-69B9CFDB92BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D08856FE-520C-48D8-9C2F-69B9CFDB92BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D08856FE-520C-48D8-9C2F-69B9CFDB92BE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
<RunConfiguration id="83f084d4-c4e9-4c35-b4c2-1fbb67c3e467" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestList>
</TestLists>

Просмотреть файл

@ -0,0 +1,116 @@
// <copyright file="RelayCommand.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>22.4.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// <LastBaseLevel>BL0010</LastBaseLevel>
// ****************************************************************************
// <credits>This class was developed by Josh Smith (http://joshsmithonwpf.wordpress.com) and
// slightly modified with his permission.</credits>
// ****************************************************************************
using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Input;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Command
{
/// <summary>
/// A command whose sole purpose is to relay its functionality to other
/// objects by invoking delegates. The default return value for the CanExecute
/// method is 'true'. This class does not allow you to accept command parameters in the
/// Execute and CanExecute callback methods.
/// </summary>
////[ClassInfo(typeof(RelayCommand),
//// VersionString = "4.0.0.0/BL0010",
//// DateString = "201109042117",
//// Description = "A command whose sole purpose is to relay its functionality to other objects by invoking delegates.",
//// UrlContacts = "http://www.galasoft.ch/contact_en.html",
//// Email = "laurent@galasoft.ch")]
public class RelayCommand : ICommand
{
private readonly Action _execute;
private readonly Func<bool> _canExecute;
/// <summary>
/// Initializes a new instance of the RelayCommand class that
/// can always execute.
/// </summary>
/// <param name="execute">The execution logic.</param>
/// <exception cref="ArgumentNullException">If the execute argument is null.</exception>
public RelayCommand(Action execute)
: this(execute, null)
{
}
/// <summary>
/// Initializes a new instance of the RelayCommand class.
/// </summary>
/// <param name="execute">The execution logic.</param>
/// <param name="canExecute">The execution status logic.</param>
/// <exception cref="ArgumentNullException">If the execute argument is null.</exception>
public RelayCommand(Action execute, Func<bool> canExecute)
{
if (execute == null)
{
throw new ArgumentNullException("execute");
}
_execute = execute;
_canExecute = canExecute;
}
/// <summary>
/// Occurs when changes occur that affect whether the command should execute.
/// </summary>
public event EventHandler CanExecuteChanged;
/// <summary>
/// Raises the <see cref="CanExecuteChanged" /> event.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
public void RaiseCanExecuteChanged()
{
var handler = CanExecuteChanged;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
/// <summary>
/// Defines the method that determines whether the command can execute in its current state.
/// </summary>
/// <param name="parameter">This parameter will always be ignored.</param>
/// <returns>true if this command can be executed; otherwise, false.</returns>
[DebuggerStepThrough]
public bool CanExecute(object parameter)
{
return _canExecute == null ? true : _canExecute();
}
/// <summary>
/// Defines the method to be called when the command is invoked.
/// </summary>
/// <param name="parameter">This parameter will always be ignored.</param>
public void Execute(object parameter)
{
if (CanExecute(parameter))
{
_execute();
}
}
}
}

Просмотреть файл

@ -0,0 +1,112 @@
// ****************************************************************************
// <copyright file="RelayCommandGeneric.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>22.4.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
// <credits>This class was developed by Josh Smith (http://joshsmithonwpf.wordpress.com) and
// slightly modified with his permission.</credits>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Input;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Command
{
/// <summary>
/// A generic command whose sole purpose is to relay its functionality to other
/// objects by invoking delegates. The default return value for the CanExecute
/// method is 'true'. This class allows you to accept command parameters in the
/// Execute and CanExecute callback methods.
/// </summary>
/// <typeparam name="T">The type of the command parameter.</typeparam>
//// [ClassInfo(typeof(RelayCommand)]
public class RelayCommand<T> : ICommand
{
private readonly Action<T> _execute;
private readonly Func<T, bool> _canExecute;
/// <summary>
/// Initializes a new instance of the RelayCommand class that
/// can always execute.
/// </summary>
/// <param name="execute">The execution logic.</param>
/// <exception cref="ArgumentNullException">If the execute argument is null.</exception>
public RelayCommand(Action<T> execute)
: this(execute, null)
{
}
/// <summary>
/// Initializes a new instance of the RelayCommand class.
/// </summary>
/// <param name="execute">The execution logic.</param>
/// <param name="canExecute">The execution status logic.</param>
/// <exception cref="ArgumentNullException">If the execute argument is null.</exception>
public RelayCommand(Action<T> execute, Func<T, bool> canExecute)
{
if (execute == null)
{
throw new ArgumentNullException("execute");
}
_execute = execute;
_canExecute = canExecute;
}
/// <summary>
/// Occurs when changes occur that affect whether the command should execute.
/// </summary>
public event EventHandler CanExecuteChanged;
/// <summary>
/// Raises the <see cref="CanExecuteChanged" /> event.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
public void RaiseCanExecuteChanged()
{
var handler = CanExecuteChanged;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
/// <summary>
/// Defines the method that determines whether the command can execute in its current state.
/// </summary>
/// <param name="parameter">Data used by the command. If the command does not require data
/// to be passed, this object can be set to a null reference</param>
/// <returns>true if this command can be executed; otherwise, false.</returns>
public bool CanExecute(object parameter)
{
return _canExecute == null ? true : _canExecute((T)parameter);
}
/// <summary>
/// Defines the method to be called when the command is invoked.
/// </summary>
/// <param name="parameter">Data used by the command. If the command does not require data
/// to be passed, this object can be set to a null reference</param>
public void Execute(object parameter)
{
if (CanExecute(parameter))
{
_execute((T)parameter);
}
}
}
}

Просмотреть файл

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{ADB28C09-8DE9-4006-80D5-74856EB4A48B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>GalaSoft.MvvmLight %28NET35%29.snk</AssemblyOriginatorKeyFile>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>true</RunCodeAnalysis>
<NoWarn>618</NoWarn>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DocumentationFile>bin\Debug\GalaSoft.MvvmLight.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DocumentationFile>bin\Release\GalaSoft.MvvmLight.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ICleanup.cs" />
<Compile Include="Helpers\IExecuteWithObject.cs" />
<Compile Include="Helpers\WeakAction.cs" />
<Compile Include="Helpers\WeakActionGeneric.cs" />
<Compile Include="Messaging\NotificationMessageActionGeneric.cs" />
<Compile Include="Messaging\NotificationMessage.cs" />
<Compile Include="Messaging\NotificationMessageAction.cs" />
<Compile Include="Messaging\NotificationMessageGeneric.cs" />
<Compile Include="Messaging\IMessenger.cs" />
<Compile Include="Messaging\NotificationMessageWithCallback.cs" />
<Compile Include="Messaging\PropertyChangedMessageBase.cs" />
<Compile Include="Messaging\DialogMessage.cs" />
<Compile Include="Messaging\GenericMessage.cs" />
<Compile Include="Messaging\MessageBase.cs" />
<Compile Include="Messaging\Messenger.cs" />
<Compile Include="Messaging\PropertyChangedMessage.cs" />
<Compile Include="ObservableObject.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Command\RelayCommand.cs" />
<Compile Include="Command\RelayCommandGeneric.cs" />
<Compile Include="Properties\AssemblyInfo.Net35.cs" />
<Compile Include="Threading\DispatcherHelper.cs" />
<Compile Include="ViewModelBase.cs" />
</ItemGroup>
<ItemGroup>
<None Include="GalaSoft.MvvmLight.FxCop" />
<None Include="GalaSoft.MvvmLight %28NET35%29.snk" />
<None Include="Settings.StyleCop" />
</ItemGroup>
<ItemGroup>
<Content Include="License.txt" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<FxCopProject Version="1.36" Name="GalaSoft.MvvmLight">
<ProjectOptions>
<SharedProject>True</SharedProject>
<Stylesheet Apply="False">c:\program files\microsoft fxcop 1.36\Xml\FxCopReport.xsl</Stylesheet>
<SaveMessages>
<Project Status="Active, Excluded" NewOnly="False" />
<Report Status="Active" NewOnly="False" />
</SaveMessages>
<ProjectFile Compress="True" DefaultTargetCheck="True" DefaultRuleCheck="True" SaveByRuleGroup="" Deterministic="True" />
<EnableMultithreadedLoad>True</EnableMultithreadedLoad>
<EnableMultithreadedAnalysis>True</EnableMultithreadedAnalysis>
<SourceLookup>True</SourceLookup>
<AnalysisExceptionsThreshold>10</AnalysisExceptionsThreshold>
<RuleExceptionsThreshold>1</RuleExceptionsThreshold>
<Spelling Locale="en-US" />
<OverrideRuleVisibilities>False</OverrideRuleVisibilities>
<CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True" />
<SearchGlobalAssemblyCache>False</SearchGlobalAssemblyCache>
<DeadlockDetectionTimeout>120</DeadlockDetectionTimeout>
<IgnoreGeneratedCode>False</IgnoreGeneratedCode>
</ProjectOptions>
<Targets>
<Target Name="$(ProjectDir)/bin/Debug/GalaSoft.MvvmLight.dll" Analyze="True" AnalyzeAllChildren="True" />
</Targets>
<Rules>
<RuleFiles>
<RuleFile Name="$(FxCopDir)\Rules\DesignRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\GlobalizationRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\InteroperabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\MobilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\NamingRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\PerformanceRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\PortabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\UsageRules.dll" Enabled="True" AllRulesEnabled="True" />
</RuleFiles>
<Groups />
<Settings />
</Rules>
<FxCopReport Version="1.36">
<Targets>
<Target Name="$(ProjectDir)/bin/Debug/GalaSoft.MvvmLight.dll">
<Modules>
<Module Name="galasoft.mvvmlight.dll">
<Messages>
<Message TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210" Created="2009-06-12 08:20:33Z">
<Issue Name="NoStrongName">
<Item>'GalaSoft.MvvmLight.dll'</Item>
</Issue>
</Message>
</Messages>
<Namespaces>
<Namespace Name="GalaSoft.MvvmLight">
<Types>
<Type Name="ViewModelBase">
<Members>
<Member Name="#IsInDesignModeStatic">
<Accessors>
<Accessor Name="#get_IsInDesignModeStatic()">
<Messages>
<Message TypeName="DoNotIndirectlyExposeMethodsWithLinkDemands" Category="Microsoft.Security" CheckId="CA2122" Created="2009-09-18 22:35:02Z">
<Issue>
<Item>'ViewModelBase.IsInDesignModeStatic.get()'</Item>
<Item>'Process.GetCurrentProcess()'</Item>
<Item>&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'</Item>
</Issue>
<Issue>
<Item>'ViewModelBase.IsInDesignModeStatic.get()'</Item>
<Item>'Process.ProcessName.get()'</Item>
<Item>&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'</Item>
</Issue>
</Message>
</Messages>
</Accessor>
</Accessors>
</Member>
</Members>
</Type>
</Types>
</Namespace>
</Namespaces>
</Module>
</Modules>
</Target>
</Targets>
<Rules>
<Rule TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210">
<Resolution Name="NoStrongName">Sign {0} with a strong name key.</Resolution>
</Rule>
<Rule TypeName="DoNotIndirectlyExposeMethodsWithLinkDemands" Category="Microsoft.Security" CheckId="CA2122">
<Resolution Name="Default">{0} calls into {1} which has a LinkDemand. By making this call, {1} is indirectly exposed to user code. Review the following call stack that might expose a way to circumvent security protection: {2}</Resolution>
</Rule>
</Rules>
</FxCopReport>
</FxCopProject>

Просмотреть файл

@ -0,0 +1,33 @@
// ****************************************************************************
// <copyright file="IExecuteWithObject.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>18.9.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
namespace GalaSoft.MvvmLight.Helpers
{
/// <summary>
/// This interface is meant for the <see cref="WeakAction{T}" /> class and can be
/// useful if you store multiple WeakAction{T} instances but don't know in advance
/// what type T represents.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public interface IExecuteWithObject
{
/// <summary>
/// Executes an action.
/// </summary>
/// <param name="parameter">A parameter passed as an object,
/// to be casted to the appropriate type.</param>
void ExecuteWithObject(object parameter);
}
}

Просмотреть файл

@ -0,0 +1,107 @@
// ****************************************************************************
// <copyright file="WeakAction.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>18.9.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
namespace GalaSoft.MvvmLight.Helpers
{
/// <summary>
/// Stores an <see cref="Action" /> without causing a hard reference
/// to be created to the Action's owner. The owner can be garbage collected at any time.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public class WeakAction
{
private readonly Action _action;
private WeakReference _reference;
/// <summary>
/// Initializes a new instance of the <see cref="WeakAction" /> class.
/// </summary>
/// <param name="target">The action's owner.</param>
/// <param name="action">The action that will be associated to this instance.</param>
public WeakAction(object target, Action action)
{
_reference = new WeakReference(target);
_action = action;
}
/// <summary>
/// Gets the Action associated to this instance.
/// </summary>
public Action Action
{
get
{
return _action;
}
}
/// <summary>
/// Gets a value indicating whether the Action's owner is still alive, or if it was collected
/// by the Garbage Collector already.
/// </summary>
public bool IsAlive
{
get
{
if (_reference == null)
{
return false;
}
return _reference.IsAlive;
}
}
/// <summary>
/// Gets the Action's owner. This object is stored as a <see cref="WeakReference" />.
/// </summary>
public object Target
{
get
{
if (_reference == null)
{
return null;
}
return _reference.Target;
}
}
/// <summary>
/// Executes the action. This only happens if the action's owner
/// is still alive.
/// </summary>
public void Execute()
{
if (_action != null
&& IsAlive)
{
_action();
}
}
/// <summary>
/// Sets the reference that this instance stores to null.
/// </summary>
public void MarkForDeletion()
{
_reference = null;
}
}
}

Просмотреть файл

@ -0,0 +1,93 @@
// ****************************************************************************
// <copyright file="WeakActionGeneric.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>18.9.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
namespace GalaSoft.MvvmLight.Helpers
{
/// <summary>
/// Stores an Action without causing a hard reference
/// to be created to the Action's owner. The owner can be garbage collected at any time.
/// </summary>
/// <typeparam name="T">The type of the Action's parameter.</typeparam>
////[ClassInfo(typeof(Messenger))]
public class WeakAction<T> : WeakAction, IExecuteWithObject
{
private readonly Action<T> _action;
/// <summary>
/// Initializes a new instance of the WeakAction class.
/// </summary>
/// <param name="target">The action's owner.</param>
/// <param name="action">The action that will be associated to this instance.</param>
public WeakAction(object target, Action<T> action)
: base(target, null)
{
_action = action;
}
/// <summary>
/// Gets the Action associated to this instance.
/// </summary>
public new Action<T> Action
{
get
{
return _action;
}
}
/// <summary>
/// Executes the action. This only happens if the action's owner
/// is still alive. The action's parameter is set to default(T).
/// </summary>
public new void Execute()
{
if (_action != null
&& IsAlive)
{
_action(default(T));
}
}
/// <summary>
/// Executes the action. This only happens if the action's owner
/// is still alive.
/// </summary>
/// <param name="parameter">A parameter to be passed to the action.</param>
public void Execute(T parameter)
{
if (_action != null
&& IsAlive)
{
_action(parameter);
}
}
/// <summary>
/// Executes the action with a parameter of type object. This parameter
/// will be casted to T. This method implements <see cref="IExecuteWithObject.ExecuteWithObject" />
/// and can be useful if you store multiple WeakAction{T} instances but don't know in advance
/// what type T represents.
/// </summary>
/// <param name="parameter">The parameter that will be passed to the action after
/// being casted to T.</param>
public void ExecuteWithObject(object parameter)
{
var parameterCasted = (T) parameter;
Execute(parameterCasted);
}
}
}

Просмотреть файл

@ -0,0 +1,35 @@
// ****************************************************************************
// <copyright file="ICleanup.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>29.11.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight
{
/// <summary>
/// Defines a common interface for classes that should be cleaned up,
/// but without the implications that IDisposable presupposes. An instance
/// implementing ICleanup can be cleaned up without being
/// disposed and garbage collected.
/// </summary>
//// [ClassInfo(typeof(ViewModelBase))]
public interface ICleanup
{
/// <summary>
/// Cleans up the instance, for example by saving its state,
/// removing resources, etc...
/// </summary>
void Cleanup();
}
}

Просмотреть файл

@ -0,0 +1,7 @@
Copyright (c) 2009-2011 Laurent Bugnion (GalaSoft), laurent@galasoft.ch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Просмотреть файл

@ -0,0 +1,154 @@
// ****************************************************************************
// <copyright file="DialogMessage.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>12.6.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Windows;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Use this class to send a message requesting to display a message box with features
/// corresponding to this message's properties. The Callback property should be used
/// to notify the message's sender about the user's choice in the message box.
/// Typically, you can use this message typ's recipient will be an element of the View,
/// and the sender will possibly be a ViewModel.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public class DialogMessage : GenericMessage<string>
{
/// <summary>
/// Initializes a new instance of the DialogMessage class.
/// </summary>
/// <param name="content">The text displayed by the message box.</param>
/// <param name="callback">A callback method that should be executed to deliver the result
/// of the message box to the object that sent the message.</param>
public DialogMessage(
string content,
Action<MessageBoxResult> callback)
: base(content)
{
Callback = callback;
}
/// <summary>
/// Initializes a new instance of the DialogMessage class.
/// </summary>
/// <param name="sender">The message's original sender.</param>
/// <param name="content">The text displayed by the message box.</param>
/// <param name="callback">A callback method that should be executed to deliver the result
/// of the message box to the object that sent the message.</param>
public DialogMessage(
object sender,
string content,
Action<MessageBoxResult> callback)
: base(sender, content)
{
Callback = callback;
}
/// <summary>
/// Initializes a new instance of the DialogMessage class.
/// </summary>
/// <param name="sender">The message's original sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="content">The text displayed by the message box.</param>
/// <param name="callback">A callback method that should be executed to deliver the result
/// of the message box to the object that sent the message.</param>
public DialogMessage(
object sender,
object target,
string content,
Action<MessageBoxResult> callback)
: base(sender, target, content)
{
Callback = callback;
}
/// <summary>
/// Gets or sets the buttons displayed by the message box.
/// </summary>
public MessageBoxButton Button
{
get;
set;
}
/// <summary>
/// Gets a callback method that should be executed to deliver the result
/// of the message box to the object that sent the message.
/// </summary>
public Action<MessageBoxResult> Callback
{
get;
private set;
}
/// <summary>
/// Gets or sets the caption for the message box.
/// </summary>
public string Caption
{
get;
set;
}
/// <summary>
/// Gets or sets which result is the default in the message box.
/// </summary>
public MessageBoxResult DefaultResult
{
get;
set;
}
#if !SILVERLIGHT
/// <summary>
/// Gets or sets the icon for the message box.
/// </summary>
public MessageBoxImage Icon
{
get;
set;
}
/// <summary>
/// Gets or sets the options for the message box.
/// </summary>
public MessageBoxOptions Options
{
get;
set;
}
#endif
/// <summary>
/// Utility method, checks if the <see cref="Callback" /> property is
/// null, and if it is not null, executes it.
/// </summary>
/// <param name="result">The result that must be passed
/// to the dialog message caller.</param>
public void ProcessCallback(MessageBoxResult result)
{
if (Callback != null)
{
Callback(result);
}
}
}
}

Просмотреть файл

@ -0,0 +1,70 @@
// **************************************************************************
// <copyright file="GenericMessage.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>13.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Passes a generic value (Content) to a recipient.
/// </summary>
/// <typeparam name="T">The type of the Content property.</typeparam>
////[ClassInfo(typeof(Messenger))]
public class GenericMessage<T> : MessageBase
{
/// <summary>
/// Initializes a new instance of the GenericMessage class.
/// </summary>
/// <param name="content">The message content.</param>
public GenericMessage(T content)
{
Content = content;
}
/// <summary>
/// Initializes a new instance of the GenericMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="content">The message content.</param>
public GenericMessage(object sender, T content)
: base(sender)
{
Content = content;
}
/// <summary>
/// Initializes a new instance of the GenericMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="content">The message content.</param>
public GenericMessage(object sender, object target, T content)
: base(sender, target)
{
Content = content;
}
/// <summary>
/// Gets or sets the message's content.
/// </summary>
public T Content
{
get;
protected set;
}
}
}

Просмотреть файл

@ -0,0 +1,232 @@
// **************************************************************************
// <copyright file="IMessenger.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>23.9.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// The Messenger is a class allowing objects to exchange messages.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public interface IMessenger
{
/// <summary>
/// Registers a recipient for a type of message TMessage. The action
/// parameter will be executed when a corresponding message is sent.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
void Register<TMessage>(object recipient, Action<TMessage> action);
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent. See the receiveDerivedMessagesToo parameter
/// for details on how messages deriving from TMessage (or, if TMessage is an interface,
/// messages implementing TMessage) can be received too.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
void Register<TMessage>(object recipient, object token, Action<TMessage> action);
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent. See the receiveDerivedMessagesToo parameter
/// for details on how messages deriving from TMessage (or, if TMessage is an interface,
/// messages implementing TMessage) can be received too.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
/// <param name="receiveDerivedMessagesToo">If true, message types deriving from
/// TMessage will also be transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage derive from OrderMessage, registering for OrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.
/// <para>Also, if TMessage is an interface, message types implementing TMessage will also be
/// transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage implement IOrderMessage, registering for IOrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.</para>
/// </param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
void Register<TMessage>(object recipient, object token, bool receiveDerivedMessagesToo, Action<TMessage> action);
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent. See the receiveDerivedMessagesToo parameter
/// for details on how messages deriving from TMessage (or, if TMessage is an interface,
/// messages implementing TMessage) can be received too.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="receiveDerivedMessagesToo">If true, message types deriving from
/// TMessage will also be transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage derive from OrderMessage, registering for OrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.
/// <para>Also, if TMessage is an interface, message types implementing TMessage will also be
/// transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage implement IOrderMessage, registering for IOrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.</para>
/// </param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
void Register<TMessage>(object recipient, bool receiveDerivedMessagesToo, Action<TMessage> action);
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach all recipients that registered for this message type
/// using one of the Register methods.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
void Send<TMessage>(TMessage message);
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach only recipients that registered for this message type
/// using one of the Register methods, and that are
/// of the targetType.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <typeparam name="TTarget">The type of recipients that will receive
/// the message. The message won't be sent to recipients of another type.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
void Send<TMessage, TTarget>(TMessage message);
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach only recipients that registered for this message type
/// using one of the Register methods, and that are
/// of the targetType.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
void Send<TMessage>(TMessage message, object token);
/// <summary>
/// Unregisters a messager recipient completely. After this method
/// is executed, the recipient will not receive any messages anymore.
/// </summary>
/// <param name="recipient">The recipient that must be unregistered.</param>
void Unregister(object recipient);
/// <summary>
/// Unregisters a message recipient for a given type of messages only.
/// After this method is executed, the recipient will not receive messages
/// of type TMessage anymore, but will still receive other message types (if it
/// registered for them previously).
/// </summary>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
/// <param name="recipient">The recipient that must be unregistered.</param>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
void Unregister<TMessage>(object recipient);
/// <summary>
/// Unregisters a message recipient for a given type of messages only and for a given token.
/// After this method is executed, the recipient will not receive messages
/// of type TMessage anymore with the given token, but will still receive other message types
/// or messages with other tokens (if it registered for them previously).
/// </summary>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="token">The token for which the recipient must be unregistered.</param>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
void Unregister<TMessage>(object recipient, object token);
/// <summary>
/// Unregisters a message recipient for a given type of messages and for
/// a given action. Other message types will still be transmitted to the
/// recipient (if it registered for them previously). Other actions that have
/// been registered for the message type TMessage and for the given recipient (if
/// available) will also remain available.
/// </summary>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="action">The action that must be unregistered for
/// the recipient and for the message type TMessage.</param>
void Unregister<TMessage>(object recipient, Action<TMessage> action);
/// <summary>
/// Unregisters a message recipient for a given type of messages, for
/// a given action and a given token. Other message types will still be transmitted to the
/// recipient (if it registered for them previously). Other actions that have
/// been registered for the message type TMessage, for the given recipient and other tokens (if
/// available) will also remain available.
/// </summary>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="token">The token for which the recipient must be unregistered.</param>
/// <param name="action">The action that must be unregistered for
/// the recipient and for the message type TMessage.</param>
void Unregister<TMessage>(object recipient, object token, Action<TMessage> action);
}
}

Просмотреть файл

@ -0,0 +1,76 @@
// ****************************************************************************
// <copyright file="MessageBase.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>13.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Base class for all messages broadcasted by the Messenger.
/// You can create your own message types by extending this class.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public class MessageBase
{
/// <summary>
/// Initializes a new instance of the MessageBase class.
/// </summary>
public MessageBase()
{
}
/// <summary>
/// Initializes a new instance of the MessageBase class.
/// </summary>
/// <param name="sender">The message's original sender.</param>
public MessageBase(object sender)
{
Sender = sender;
}
/// <summary>
/// Initializes a new instance of the MessageBase class.
/// </summary>
/// <param name="sender">The message's original sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
public MessageBase(object sender, object target)
: this(sender)
{
Target = target;
}
/// <summary>
/// Gets or sets the message's sender.
/// </summary>
public object Sender
{
get;
protected set;
}
/// <summary>
/// Gets or sets the message's intended target. This property can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.
/// </summary>
public object Target
{
get;
protected set;
}
}
}

Просмотреть файл

@ -0,0 +1,599 @@
// ****************************************************************************
// <copyright file="Messenger.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>13.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// <LastBaseLevel>BL0014</LastBaseLevel>
// ****************************************************************************
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using GalaSoft.MvvmLight.Helpers;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// The Messenger is a class allowing objects to exchange messages.
/// </summary>
////[ClassInfo(typeof(Messenger),
//// VersionString = "4.0.0.0/BL0014",
//// DateString = "201109042117",
//// Description = "A messenger class allowing a class to send a message to multiple recipients",
//// UrlContacts = "http://www.galasoft.ch/contact_en.html",
//// Email = "laurent@galasoft.ch")]
public class Messenger : IMessenger
{
private static readonly object CreationLock = new object();
private static Messenger _defaultInstance;
private readonly object _registerLock = new object();
private Dictionary<Type, List<WeakActionAndToken>> _recipientsOfSubclassesAction;
private Dictionary<Type, List<WeakActionAndToken>> _recipientsStrictAction;
/// <summary>
/// Gets the Messenger's default instance, allowing
/// to register and send messages in a static manner.
/// </summary>
public static Messenger Default
{
get
{
if (_defaultInstance == null)
{
lock (CreationLock)
{
if (_defaultInstance == null)
{
_defaultInstance = new Messenger();
}
}
}
return _defaultInstance;
}
}
#region IMessenger Members
/// <summary>
/// Registers a recipient for a type of message TMessage. The action
/// parameter will be executed when a corresponding message is sent.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
public virtual void Register<TMessage>(object recipient, Action<TMessage> action)
{
Register(recipient, null, false, action);
}
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent. See the receiveDerivedMessagesToo parameter
/// for details on how messages deriving from TMessage (or, if TMessage is an interface,
/// messages implementing TMessage) can be received too.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="receiveDerivedMessagesToo">If true, message types deriving from
/// TMessage will also be transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage derive from OrderMessage, registering for OrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.
/// <para>Also, if TMessage is an interface, message types implementing TMessage will also be
/// transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage implement IOrderMessage, registering for IOrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.</para>
/// </param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
public virtual void Register<TMessage>(object recipient, bool receiveDerivedMessagesToo, Action<TMessage> action)
{
Register(recipient, null, receiveDerivedMessagesToo, action);
}
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
public virtual void Register<TMessage>(object recipient, object token, Action<TMessage> action)
{
Register(recipient, token, false, action);
}
/// <summary>
/// Registers a recipient for a type of message TMessage.
/// The action parameter will be executed when a corresponding
/// message is sent. See the receiveDerivedMessagesToo parameter
/// for details on how messages deriving from TMessage (or, if TMessage is an interface,
/// messages implementing TMessage) can be received too.
/// <para>Registering a recipient does not create a hard reference to it,
/// so if this recipient is deleted, no memory leak is caused.</para>
/// </summary>
/// <typeparam name="TMessage">The type of message that the recipient registers
/// for.</typeparam>
/// <param name="recipient">The recipient that will receive the messages.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
/// <param name="receiveDerivedMessagesToo">If true, message types deriving from
/// TMessage will also be transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage derive from OrderMessage, registering for OrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.
/// <para>Also, if TMessage is an interface, message types implementing TMessage will also be
/// transmitted to the recipient. For example, if a SendOrderMessage
/// and an ExecuteOrderMessage implement IOrderMessage, registering for IOrderMessage
/// and setting receiveDerivedMessagesToo to true will send SendOrderMessage
/// and ExecuteOrderMessage to the recipient that registered.</para>
/// </param>
/// <param name="action">The action that will be executed when a message
/// of type TMessage is sent.</param>
public virtual void Register<TMessage>(
object recipient,
object token,
bool receiveDerivedMessagesToo,
Action<TMessage> action)
{
lock (_registerLock)
{
Type messageType = typeof(TMessage);
Dictionary<Type, List<WeakActionAndToken>> recipients;
if (receiveDerivedMessagesToo)
{
if (_recipientsOfSubclassesAction == null)
{
_recipientsOfSubclassesAction = new Dictionary<Type, List<WeakActionAndToken>>();
}
recipients = _recipientsOfSubclassesAction;
}
else
{
if (_recipientsStrictAction == null)
{
_recipientsStrictAction = new Dictionary<Type, List<WeakActionAndToken>>();
}
recipients = _recipientsStrictAction;
}
lock (recipients)
{
List<WeakActionAndToken> list;
if (!recipients.ContainsKey(messageType))
{
list = new List<WeakActionAndToken>();
recipients.Add(messageType, list);
}
else
{
list = recipients[messageType];
}
var weakAction = new WeakAction<TMessage>(recipient, action);
var item = new WeakActionAndToken
{
Action = weakAction,
Token = token
};
list.Add(item);
}
}
Cleanup();
}
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach all recipients that registered for this message type
/// using one of the Register methods.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
public virtual void Send<TMessage>(TMessage message)
{
SendToTargetOrType(message, null, null);
}
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach only recipients that registered for this message type
/// using one of the Register methods, and that are
/// of the targetType.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <typeparam name="TTarget">The type of recipients that will receive
/// the message. The message won't be sent to recipients of another type.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
public virtual void Send<TMessage, TTarget>(TMessage message)
{
SendToTargetOrType(message, typeof(TTarget), null);
}
/// <summary>
/// Sends a message to registered recipients. The message will
/// reach only recipients that registered for this message type
/// using one of the Register methods, and that are
/// of the targetType.
/// </summary>
/// <typeparam name="TMessage">The type of message that will be sent.</typeparam>
/// <param name="message">The message to send to registered recipients.</param>
/// <param name="token">A token for a messaging channel. If a recipient registers
/// using a token, and a sender sends a message using the same token, then this
/// message will be delivered to the recipient. Other recipients who did not
/// use a token when registering (or who used a different token) will not
/// get the message. Similarly, messages sent without any token, or with a different
/// token, will not be delivered to that recipient.</param>
public virtual void Send<TMessage>(TMessage message, object token)
{
SendToTargetOrType(message, null, token);
}
/// <summary>
/// Unregisters a messager recipient completely. After this method
/// is executed, the recipient will not receive any messages anymore.
/// </summary>
/// <param name="recipient">The recipient that must be unregistered.</param>
public virtual void Unregister(object recipient)
{
UnregisterFromLists(recipient, _recipientsOfSubclassesAction);
UnregisterFromLists(recipient, _recipientsStrictAction);
}
/// <summary>
/// Unregisters a message recipient for a given type of messages only.
/// After this method is executed, the recipient will not receive messages
/// of type TMessage anymore, but will still receive other message types (if it
/// registered for them previously).
/// </summary>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
public virtual void Unregister<TMessage>(object recipient)
{
Unregister<TMessage>(recipient, null, null);
}
/// <summary>
/// Unregisters a message recipient for a given type of messages only and for a given token.
/// After this method is executed, the recipient will not receive messages
/// of type TMessage anymore with the given token, but will still receive other message types
/// or messages with other tokens (if it registered for them previously).
/// </summary>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="token">The token for which the recipient must be unregistered.</param>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
[SuppressMessage(
"Microsoft.Design",
"CA1004:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
public virtual void Unregister<TMessage>(object recipient, object token)
{
Unregister<TMessage>(recipient, token, null);
}
/// <summary>
/// Unregisters a message recipient for a given type of messages and for
/// a given action. Other message types will still be transmitted to the
/// recipient (if it registered for them previously). Other actions that have
/// been registered for the message type TMessage and for the given recipient (if
/// available) will also remain available.
/// </summary>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="action">The action that must be unregistered for
/// the recipient and for the message type TMessage.</param>
public virtual void Unregister<TMessage>(object recipient, Action<TMessage> action)
{
Unregister(recipient, null, action);
}
/// <summary>
/// Unregisters a message recipient for a given type of messages, for
/// a given action and a given token. Other message types will still be transmitted to the
/// recipient (if it registered for them previously). Other actions that have
/// been registered for the message type TMessage, for the given recipient and other tokens (if
/// available) will also remain available.
/// </summary>
/// <typeparam name="TMessage">The type of messages that the recipient wants
/// to unregister from.</typeparam>
/// <param name="recipient">The recipient that must be unregistered.</param>
/// <param name="token">The token for which the recipient must be unregistered.</param>
/// <param name="action">The action that must be unregistered for
/// the recipient and for the message type TMessage.</param>
public virtual void Unregister<TMessage>(object recipient, object token, Action<TMessage> action)
{
UnregisterFromLists(recipient, token, action, _recipientsStrictAction);
UnregisterFromLists(recipient, token, action, _recipientsOfSubclassesAction);
Cleanup();
}
#endregion
/// <summary>
/// Provides a way to override the Messenger.Default instance with
/// a custom instance, for example for unit testing purposes.
/// </summary>
/// <param name="newMessenger">The instance that will be used as Messenger.Default.</param>
public static void OverrideDefault(Messenger newMessenger)
{
_defaultInstance = newMessenger;
}
/// <summary>
/// Sets the Messenger's default (static) instance to null.
/// </summary>
public static void Reset()
{
_defaultInstance = null;
}
private static void CleanupList(IDictionary<Type, List<WeakActionAndToken>> lists)
{
if (lists == null)
{
return;
}
lock (lists)
{
var listsToRemove = new List<Type>();
foreach (var list in lists)
{
var recipientsToRemove = new List<WeakActionAndToken>();
foreach (WeakActionAndToken item in list.Value)
{
if (item.Action == null
|| !item.Action.IsAlive)
{
recipientsToRemove.Add(item);
}
}
foreach (WeakActionAndToken recipient in recipientsToRemove)
{
list.Value.Remove(recipient);
}
if (list.Value.Count == 0)
{
listsToRemove.Add(list.Key);
}
}
foreach (Type key in listsToRemove)
{
lists.Remove(key);
}
}
}
private static bool Implements(Type instanceType, Type interfaceType)
{
if (interfaceType == null
|| instanceType == null)
{
return false;
}
Type[] interfaces = instanceType.GetInterfaces();
foreach (Type currentInterface in interfaces)
{
if (currentInterface == interfaceType)
{
return true;
}
}
return false;
}
private static void SendToList<TMessage>(
TMessage message,
IEnumerable<WeakActionAndToken> list,
Type messageTargetType,
object token)
{
if (list != null)
{
// Clone to protect from people registering in a "receive message" method
// Bug correction Messaging BL0004.007
List<WeakActionAndToken> listClone = list.Take(list.Count()).ToList();
foreach (WeakActionAndToken item in listClone)
{
var executeAction = item.Action as IExecuteWithObject;
if (executeAction != null
&& item.Action.IsAlive
&& item.Action.Target != null
&& (messageTargetType == null
|| item.Action.Target.GetType() == messageTargetType
|| Implements(item.Action.Target.GetType(), messageTargetType))
&& ((item.Token == null && token == null)
|| item.Token != null && item.Token.Equals(token)))
{
executeAction.ExecuteWithObject(message);
}
}
}
}
private static void UnregisterFromLists(object recipient, Dictionary<Type, List<WeakActionAndToken>> lists)
{
if (recipient == null
|| lists == null
|| lists.Count == 0)
{
return;
}
lock (lists)
{
foreach (Type messageType in lists.Keys)
{
foreach (WeakActionAndToken item in lists[messageType])
{
WeakAction weakAction = item.Action;
if (weakAction != null
&& recipient == weakAction.Target)
{
weakAction.MarkForDeletion();
}
}
}
}
}
private static void UnregisterFromLists<TMessage>(
object recipient,
object token,
Action<TMessage> action,
Dictionary<Type, List<WeakActionAndToken>> lists)
{
Type messageType = typeof(TMessage);
if (recipient == null
|| lists == null
|| lists.Count == 0
|| !lists.ContainsKey(messageType))
{
return;
}
lock (lists)
{
foreach (WeakActionAndToken item in lists[messageType])
{
var weakActionCasted = item.Action as WeakAction<TMessage>;
if (weakActionCasted != null
&& recipient == weakActionCasted.Target
&& (action == null
|| action == weakActionCasted.Action)
&& (token == null
|| token.Equals(item.Token)))
{
item.Action.MarkForDeletion();
}
}
}
}
private void Cleanup()
{
CleanupList(_recipientsOfSubclassesAction);
CleanupList(_recipientsStrictAction);
}
private void SendToTargetOrType<TMessage>(TMessage message, Type messageTargetType, object token)
{
Type messageType = message.GetType();
if (_recipientsOfSubclassesAction != null)
{
// Clone to protect from people registering in a "receive message" method
// Bug correction Messaging BL0008.002
List<Type> listClone =
_recipientsOfSubclassesAction.Keys.Take(_recipientsOfSubclassesAction.Count()).ToList();
foreach (Type type in listClone)
{
List<WeakActionAndToken> list = null;
if (messageType == type
|| messageType.IsSubclassOf(type)
|| Implements(messageType, type))
{
lock (_recipientsOfSubclassesAction)
{
list = _recipientsOfSubclassesAction[type].Take(_recipientsOfSubclassesAction[type].Count()).ToList();
}
}
SendToList(message, list, messageTargetType, token);
}
}
if (_recipientsStrictAction != null)
{
if (_recipientsStrictAction.ContainsKey(messageType))
{
List<WeakActionAndToken> list = null;
lock (_recipientsStrictAction)
{
list = _recipientsStrictAction[messageType].Take(_recipientsStrictAction[messageType].Count()).ToList();
}
SendToList(message, list, messageTargetType, token);
}
}
Cleanup();
}
#region Nested type: WeakActionAndToken
private struct WeakActionAndToken
{
public WeakAction Action;
public object Token;
}
#endregion
}
}

Просмотреть файл

@ -0,0 +1,76 @@
// ****************************************************************************
// <copyright file="NotificationMessage.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>21.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Passes a string message (Notification) to a recipient.
/// <para>Typically, notifications are defined as unique strings in a static class. To define
/// a unique string, you can use Guid.NewGuid().ToString() or any other unique
/// identifier.</para>
/// </summary>
////[ClassInfo(typeof(Messenger))]
public class NotificationMessage : MessageBase
{
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(string notification)
{
Notification = notification;
}
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(object sender, string notification)
: base(sender)
{
Notification = notification;
}
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(object sender, object target, string notification)
: base(sender, target)
{
Notification = notification;
}
/// <summary>
/// Gets a string containing any arbitrary message to be
/// passed to recipient(s).
/// </summary>
public string Notification
{
get;
private set;
}
}
}

Просмотреть файл

@ -0,0 +1,86 @@
// ****************************************************************************
// <copyright file="NotificationMessageAction.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>29.11.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Provides a message class with a built-in callback. When the recipient
/// is done processing the message, it can execute the callback to
/// notify the sender that it is done. Use the <see cref="Execute" />
/// method to execute the callback.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public class NotificationMessageAction : NotificationMessageWithCallback
{
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction" /> class.
/// </summary>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(string notification, Action callback)
: base(notification, callback)
{
}
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(object sender, string notification, Action callback)
: base(sender, notification, callback)
{
}
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(object sender, object target, string notification, Action callback)
: base(sender, target, notification, callback)
{
}
/// <summary>
/// Executes the callback that was provided with the message.
/// </summary>
public void Execute()
{
base.Execute();
}
}
}

Просмотреть файл

@ -0,0 +1,95 @@
// ****************************************************************************
// <copyright file="NotificationMessageActionGeneric.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>29.11.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Provides a message class with a built-in callback. When the recipient
/// is done processing the message, it can execute the callback to
/// notify the sender that it is done. Use the <see cref="Execute" />
/// method to execute the callback. The callback method has one parameter.
/// <seealso cref="NotificationMessageAction"/>.
/// </summary>
/// <typeparam name="TCallbackParameter">The type of the callback method's
/// only parameter.</typeparam>
public class NotificationMessageAction<TCallbackParameter> : NotificationMessageWithCallback
{
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction&lt;TCallbackParameter&gt;" /> class.
/// </summary>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(string notification, Action<TCallbackParameter> callback)
: base(notification, callback)
{
}
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction&lt;TCallbackParameter&gt;" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(object sender, string notification, Action<TCallbackParameter> callback)
: base(sender, notification, callback)
{
}
/// <summary>
/// Initializes a new instance of the
/// <see cref="NotificationMessageAction&lt;TCallbackParameter&gt;" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageAction(
object sender,
object target,
string notification,
Action<TCallbackParameter> callback)
: base(sender, target, notification, callback)
{
}
/// <summary>
/// Executes the callback that was provided with the message.
/// </summary>
/// <param name="parameter">A parameter requested by the message's
/// sender and providing additional information on the recipient's
/// state.</param>
public void Execute(TCallbackParameter parameter)
{
base.Execute(parameter);
}
}
}

Просмотреть файл

@ -0,0 +1,78 @@
// ****************************************************************************
// <copyright file="NotificationMessageGeneric.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>13.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Passes a string message (Notification) and a generic value (Content) to a recipient.
/// </summary>
/// <typeparam name="T">The type of the Content property.</typeparam>
////[ClassInfo(typeof(Messenger))]
public class NotificationMessage<T> : GenericMessage<T>
{
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="content">A value to be passed to recipient(s).</param>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(T content, string notification)
: base(content)
{
Notification = notification;
}
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="content">A value to be passed to recipient(s).</param>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(object sender, T content, string notification)
: base(sender, content)
{
Notification = notification;
}
/// <summary>
/// Initializes a new instance of the NotificationMessage class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="content">A value to be passed to recipient(s).</param>
/// <param name="notification">A string containing any arbitrary message to be
/// passed to recipient(s)</param>
public NotificationMessage(object sender, object target, T content, string notification)
: base(sender, target, content)
{
Notification = notification;
}
/// <summary>
/// Gets a string containing any arbitrary message to be
/// passed to recipient(s).
/// </summary>
public string Notification
{
get;
private set;
}
}
}

Просмотреть файл

@ -0,0 +1,104 @@
// ****************************************************************************
// <copyright file="NotificationMessageWithCallback.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>29.11.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Provides a message class with a built-in callback. When the recipient
/// is done processing the message, it can execute the callback to
/// notify the sender that it is done. Use the <see cref="Execute" />
/// method to execute the callback. The callback method has one parameter.
/// <seealso cref="NotificationMessageAction"/> and
/// <seealso cref="NotificationMessageAction&lt;TCallbackParameter&gt;"/>.
/// </summary>
public class NotificationMessageWithCallback : NotificationMessage
{
private readonly Delegate _callback;
/// <summary>
/// Initializes a new instance of the <see cref="NotificationMessageWithCallback" /> class.
/// </summary>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageWithCallback(string notification, Delegate callback)
: base(notification)
{
CheckCallback(callback);
_callback = callback;
}
/// <summary>
/// Initializes a new instance of the <see cref="NotificationMessageWithCallback" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageWithCallback(object sender, string notification, Delegate callback)
: base(sender, notification)
{
CheckCallback(callback);
_callback = callback;
}
/// <summary>
/// Initializes a new instance of the <see cref="NotificationMessageWithCallback" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="notification">An arbitrary string that will be
/// carried by the message.</param>
/// <param name="callback">The callback method that can be executed
/// by the recipient to notify the sender that the message has been
/// processed.</param>
public NotificationMessageWithCallback(object sender, object target, string notification, Delegate callback)
: base(sender, target, notification)
{
CheckCallback(callback);
_callback = callback;
}
/// <summary>
/// Executes the callback that was provided with the message with an
/// arbitrary number of parameters.
/// </summary>
/// <param name="arguments">A number of parameters that will
/// be passed to the callback method.</param>
/// <returns>The object returned by the callback method.</returns>
public virtual object Execute(params object[] arguments)
{
return _callback.DynamicInvoke(arguments);
}
private static void CheckCallback(Delegate callback)
{
if (callback == null)
{
throw new ArgumentNullException("callback", "Callback may not be null");
}
}
}
}

Просмотреть файл

@ -0,0 +1,92 @@
// ****************************************************************************
// <copyright file="PropertyChangedMessage.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>13.4.2009</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Passes a string property name (PropertyName) and a generic value
/// (<see cref="OldValue" /> and <see cref="NewValue" />) to a recipient.
/// This message type can be used to propagate a PropertyChanged event to
/// a recipient using the messenging system.
/// </summary>
/// <typeparam name="T">The type of the OldValue and NewValue property.</typeparam>
////[ClassInfo(typeof(Messenger))]
public class PropertyChangedMessage<T> : PropertyChangedMessageBase
{
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessage{T}" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="oldValue">The property's value before the change occurred.</param>
/// <param name="newValue">The property's value after the change occurred.</param>
/// <param name="propertyName">The name of the property that changed.</param>
public PropertyChangedMessage(object sender, T oldValue, T newValue, string propertyName)
: base(sender, propertyName)
{
OldValue = oldValue;
NewValue = newValue;
}
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessage{T}" /> class.
/// </summary>
/// <param name="oldValue">The property's value before the change occurred.</param>
/// <param name="newValue">The property's value after the change occurred.</param>
/// <param name="propertyName">The name of the property that changed.</param>
public PropertyChangedMessage(T oldValue, T newValue, string propertyName)
: base(propertyName)
{
OldValue = oldValue;
NewValue = newValue;
}
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessage{T}" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="oldValue">The property's value before the change occurred.</param>
/// <param name="newValue">The property's value after the change occurred.</param>
/// <param name="propertyName">The name of the property that changed.</param>
public PropertyChangedMessage(object sender, object target, T oldValue, T newValue, string propertyName)
: base(sender, target, propertyName)
{
OldValue = oldValue;
NewValue = newValue;
}
/// <summary>
/// Gets the value that the property has after the change.
/// </summary>
public T NewValue
{
get;
private set;
}
/// <summary>
/// Gets the value that the property had before the change.
/// </summary>
public T OldValue
{
get;
private set;
}
}
}

Просмотреть файл

@ -0,0 +1,71 @@
// ****************************************************************************
// <copyright file="PropertyChangedMessageBase.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>18.9.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Messaging
{
/// <summary>
/// Basis class for the <see cref="PropertyChangedMessage{T}" /> class. This
/// class allows a recipient to register for all PropertyChangedMessages without
/// having to specify the type T.
/// </summary>
////[ClassInfo(typeof(Messenger))]
public abstract class PropertyChangedMessageBase : MessageBase
{
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessageBase" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="propertyName">The name of the property that changed.</param>
protected PropertyChangedMessageBase(object sender, string propertyName)
: base(sender)
{
PropertyName = propertyName;
}
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessageBase" /> class.
/// </summary>
/// <param name="sender">The message's sender.</param>
/// <param name="target">The message's intended target. This parameter can be used
/// to give an indication as to whom the message was intended for. Of course
/// this is only an indication, amd may be null.</param>
/// <param name="propertyName">The name of the property that changed.</param>
protected PropertyChangedMessageBase(object sender, object target, string propertyName)
: base(sender, target)
{
PropertyName = propertyName;
}
/// <summary>
/// Initializes a new instance of the <see cref="PropertyChangedMessageBase" /> class.
/// </summary>
/// <param name="propertyName">The name of the property that changed.</param>
protected PropertyChangedMessageBase(string propertyName)
{
PropertyName = propertyName;
}
/// <summary>
/// Gets or sets the name of the property that changed.
/// </summary>
public string PropertyName
{
get;
protected set;
}
}
}

Просмотреть файл

@ -0,0 +1,169 @@
// ****************************************************************************
// <copyright file="ObservableObject.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>10.4.2011</date>
// <project>GalaSoft.MvvmLight.Messaging</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;
using System.Reflection;
namespace GalaSoft.MvvmLight
{
/// <summary>
/// A base class for the ViewModel classes in the MVVM pattern.
/// </summary>
//// [ClassInfo(typeof(ViewModelBase))]
public class ObservableObject : INotifyPropertyChanged
{
/// <summary>
/// Occurs when a property value changes.
/// </summary>
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// Provides access to the PropertyChanged event handler to derived classes.
/// </summary>
protected PropertyChangedEventHandler PropertyChangedHandler
{
get
{
return PropertyChanged;
}
}
/// <summary>
/// Verifies that a property name exists in this ViewModel. This method
/// can be called before the property is used, for instance before
/// calling RaisePropertyChanged. It avoids errors when a property name
/// is changed but some places are missed.
/// <para>This method is only active in DEBUG mode.</para>
/// </summary>
/// <param name="propertyName"></param>
[Conditional("DEBUG")]
[DebuggerStepThrough]
public void VerifyPropertyName(string propertyName)
{
var myType = this.GetType();
if (!string.IsNullOrEmpty(propertyName)
&& myType.GetProperty(propertyName) == null)
{
throw new ArgumentException("Property not found", propertyName);
}
}
/// <summary>
/// Raises the PropertyChanged event if needed.
/// </summary>
/// <remarks>If the propertyName parameter
/// does not correspond to an existing property on the current class, an
/// exception is thrown in DEBUG configuration only.</remarks>
/// <param name="propertyName">The name of the property that
/// changed.</param>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
protected virtual void RaisePropertyChanged(string propertyName)
{
VerifyPropertyName(propertyName);
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
/// <summary>
/// Raises the PropertyChanged event if needed.
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyExpression">An expression identifying the property
/// that changed.</param>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
[SuppressMessage(
"Microsoft.Design",
"CA1006:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
protected virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression)
{
if (propertyExpression == null)
{
return;
}
var handler = PropertyChanged;
if (handler != null)
{
var body = propertyExpression.Body as MemberExpression;
handler(this, new PropertyChangedEventArgs(body.Member.Name));
}
}
/// <summary>
/// Assigns a new value to the property. Then, raises the
/// PropertyChanged event if needed.
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyExpression">An expression identifying the property
/// that changed.</param>
/// <param name="field">The field storing the property's value.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
protected void Set<T>(
Expression<Func<T>> propertyExpression,
ref T field,
T newValue)
{
if (EqualityComparer<T>.Default.Equals(field, newValue))
{
return;
}
field = newValue;
RaisePropertyChanged(propertyExpression);
}
/// <summary>
/// Assigns a new value to the property. Then, raises the
/// PropertyChanged event if needed.
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyName">The name of the property that
/// changed.</param>
/// <param name="field">The field storing the property's value.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
protected void Set<T>(
string propertyName,
ref T field,
T newValue)
{
if (EqualityComparer<T>.Default.Equals(field, newValue))
{
return;
}
field = newValue;
RaisePropertyChanged(propertyName);
}
}
}

Просмотреть файл

@ -0,0 +1,21 @@
// ****************************************************************************
// <copyright file="AssemblyInfo.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>3.6.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Runtime.InteropServices;
using System.Security;
[assembly: Guid("3cdfebcb-6e89-4a28-80eb-8c8d18fed4b7")]
//[assembly: AllowPartiallyTrustedCallers]

Просмотреть файл

@ -0,0 +1,90 @@
// ****************************************************************************
// <copyright file="AssemblyInfo.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>3.6.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// <LastBaseLevel>BL0017</LastBaseLevel>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("GalaSoft.MvvmLight")]
[assembly: AssemblyDescription("A lightweight framework to implement Model-View-ViewModel applications in WPF, Silverlight and Windows Phone 7")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("GalaSoft Laurent Bugnion @ http://www.galasoft.ch")]
[assembly: AssemblyProduct("GalaSoft.MvvmLight")]
[assembly: AssemblyCopyright("Copyright © GalaSoft Laurent Bugnion 2009-2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: CLSCompliant(true)]
////[assembly: AssemblyVersion("4.0.0.*")]
[assembly: AssemblyFileVersion("4.0.0.0/BL0017")]
// FxCop
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
Scope = "namespace",
Target = "GalaSoft.MvvmLight",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Messaging",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Command",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Helpers",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Naming",
"CA1704:IdentifiersShouldBeSpelledCorrectly",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Ioc",
MessageId = "Mvvm")]
[module: SuppressMessage("Microsoft.Design",
"CA1020:AvoidNamespacesWithFewTypes",
Scope = "namespace",
Target = "GalaSoft.MvvmLight")]
[module: SuppressMessage("Microsoft.Design",
"CA1020:AvoidNamespacesWithFewTypes",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Command")]
[module: SuppressMessage("Microsoft.Design",
"CA1020:AvoidNamespacesWithFewTypes",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Helpers")]
[module: SuppressMessage("Microsoft.Design",
"CA1020:AvoidNamespacesWithFewTypes",
Scope = "namespace",
Target = "GalaSoft.MvvmLight.Ioc")]

Просмотреть файл

@ -0,0 +1,47 @@
<StyleCopSettings Version="4.3">
<Parsers>
<Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.DocumentationRules">
<AnalyzerSettings>
<BooleanProperty Name="IgnorePrivates">True</BooleanProperty>
<BooleanProperty Name="IgnoreInternals">True</BooleanProperty>
</AnalyzerSettings>
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="FieldNamesMustNotBeginWithUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>

Просмотреть файл

@ -0,0 +1,93 @@
// ****************************************************************************
// <copyright file="DispatcherHelper.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>29.11.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this solution or http://www.galasoft.ch/license_MIT.txt
// </license>
// <LastBaseLevel>BL0002</LastBaseLevel>
// ****************************************************************************
using System;
using System.Windows.Threading;
#if SILVERLIGHT
using System.Windows;
#endif
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Threading
{
/// <summary>
/// Helper class for dispatcher operations on the UI thread.
/// </summary>
//// [ClassInfo(typeof(DispatcherHelper),
//// VersionString = "4.0.0.0/BL0002",
//// DateString = "201109042117",
//// Description = "Helper class for dispatcher operations on the UI thread.",
//// UrlContacts = "http://www.galasoft.ch/contact_en.html",
//// Email = "laurent@galasoft.ch")]
public static class DispatcherHelper
{
/// <summary>
/// Gets a reference to the UI thread's dispatcher, after the
/// <see cref="Initialize" /> method has been called on the UI thread.
/// </summary>
public static Dispatcher UIDispatcher
{
get;
private set;
}
/// <summary>
/// Executes an action on the UI thread. If this method is called
/// from the UI thread, the action is executed immendiately. If the
/// method is called from another thread, the action will be enqueued
/// on the UI thread's dispatcher and executed asynchronously.
/// <para>For additional operations on the UI thread, you can get a
/// reference to the UI thread's dispatcher thanks to the property
/// <see cref="UIDispatcher" /></para>.
/// </summary>
/// <param name="action">The action that will be executed on the UI
/// thread.</param>
public static void CheckBeginInvokeOnUI(Action action)
{
if (UIDispatcher.CheckAccess())
{
action();
}
else
{
UIDispatcher.BeginInvoke(action);
}
}
/// <summary>
/// This method should be called once on the UI thread to ensure that
/// the <see cref="UIDispatcher" /> property is initialized.
/// <para>In a Silverlight application, call this method in the
/// Application_Startup event handler, after the MainPage is constructed.</para>
/// <para>In WPF, call this method on the static App() constructor.</para>
/// </summary>
public static void Initialize()
{
if (UIDispatcher != null)
{
return;
}
#if SILVERLIGHT
UIDispatcher = Deployment.Current.Dispatcher;
#else
UIDispatcher = Dispatcher.CurrentDispatcher;
#endif
}
}
}

Просмотреть файл

@ -0,0 +1,306 @@
// ****************************************************************************
// <copyright file="ViewModelBase.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>22.4.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// <LastBaseLevel>BL0012</LastBaseLevel>
// ****************************************************************************
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Windows;
using GalaSoft.MvvmLight.Messaging;
using System.Linq.Expressions;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight
{
/// <summary>
/// A base class for the ViewModel classes in the MVVM pattern.
/// </summary>
//// [ClassInfo(typeof(ViewModelBase),
//// VersionString = "4.0.0.0/BL0012",
//// DateString = "201109042117",
//// Description = "A base class for the ViewModel classes in the MVVM pattern.",
//// UrlContacts = "http://www.galasoft.ch/contact_en.html",
//// Email = "laurent@galasoft.ch")]
[SuppressMessage(
"Microsoft.Design",
"CA1012",
Justification = "Constructors should remain public to allow serialization.")]
public abstract class ViewModelBase : ObservableObject, ICleanup
{
private static bool? _isInDesignMode;
private IMessenger _messengerInstance;
/// <summary>
/// Initializes a new instance of the ViewModelBase class.
/// </summary>
public ViewModelBase()
: this(null)
{
}
/// <summary>
/// Initializes a new instance of the ViewModelBase class.
/// </summary>
/// <param name="messenger">An instance of a <see cref="Messenger" />
/// used to broadcast messages to other objects. If null, this class
/// will attempt to broadcast using the Messenger's default
/// instance.</param>
public ViewModelBase(IMessenger messenger)
{
MessengerInstance = messenger;
}
/// <summary>
/// Gets a value indicating whether the control is in design mode
/// (running under Blend or Visual Studio).
/// </summary>
[SuppressMessage(
"Microsoft.Performance",
"CA1822:MarkMembersAsStatic",
Justification = "Non static member needed for data binding")]
public bool IsInDesignMode
{
get
{
return IsInDesignModeStatic;
}
}
/// <summary>
/// Gets a value indicating whether the control is in design mode
/// (running in Blend or Visual Studio).
/// </summary>
[SuppressMessage(
"Microsoft.Security",
"CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands",
Justification = "The security risk here is neglectible.")]
public static bool IsInDesignModeStatic
{
get
{
if (!_isInDesignMode.HasValue)
{
#if SILVERLIGHT
_isInDesignMode = DesignerProperties.IsInDesignTool;
#else
var prop = DesignerProperties.IsInDesignModeProperty;
_isInDesignMode
= (bool)DependencyPropertyDescriptor
.FromProperty(prop, typeof(FrameworkElement))
.Metadata.DefaultValue;
// Just to be sure
if (!_isInDesignMode.Value
&& Process.GetCurrentProcess().ProcessName.StartsWith("devenv", StringComparison.Ordinal))
{
_isInDesignMode = true;
}
#endif
}
return _isInDesignMode.Value;
}
}
/// <summary>
/// Gets or sets an instance of a <see cref="IMessenger" /> used to
/// broadcast messages to other objects. If null, this class will
/// attempt to broadcast using the Messenger's default instance.
/// </summary>
protected IMessenger MessengerInstance
{
get
{
return _messengerInstance ?? Messenger.Default;
}
set
{
_messengerInstance = value;
}
}
/// <summary>
/// Unregisters this instance from the Messenger class.
/// <para>To cleanup additional resources, override this method, clean
/// up and then call base.Cleanup().</para>
/// </summary>
public virtual void Cleanup()
{
Messenger.Default.Unregister(this);
}
/// <summary>
/// Broadcasts a PropertyChangedMessage using either the instance of
/// the Messenger that was passed to this class (if available)
/// or the Messenger's default instance.
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="oldValue">The value of the property before it
/// changed.</param>
/// <param name="newValue">The value of the property after it
/// changed.</param>
/// <param name="propertyName">The name of the property that
/// changed.</param>
protected virtual void Broadcast<T>(T oldValue, T newValue, string propertyName)
{
var message = new PropertyChangedMessage<T>(this, oldValue, newValue, propertyName);
MessengerInstance.Send(message);
}
/// <summary>
/// Raises the PropertyChanged event if needed, and broadcasts a
/// PropertyChangedMessage using the Messenger instance (or the
/// static default instance if no Messenger instance is available).
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyName">The name of the property that
/// changed.</param>
/// <param name="oldValue">The property's value before the change
/// occurred.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
/// <param name="broadcast">If true, a PropertyChangedMessage will
/// be broadcasted. If false, only the event will be raised.</param>
/// <remarks>If the propertyName parameter
/// does not correspond to an existing property on the current class, an
/// exception is thrown in DEBUG configuration only.</remarks>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
protected virtual void RaisePropertyChanged<T>(string propertyName, T oldValue, T newValue, bool broadcast)
{
RaisePropertyChanged(propertyName);
if (broadcast)
{
Broadcast(oldValue, newValue, propertyName);
}
}
/// <summary>
/// Raises the PropertyChanged event if needed, and broadcasts a
/// PropertyChangedMessage using the Messenger instance (or the
/// static default instance if no Messenger instance is available).
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyExpression">An expression identifying the property
/// that changed.</param>
/// <param name="oldValue">The property's value before the change
/// occurred.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
/// <param name="broadcast">If true, a PropertyChangedMessage will
/// be broadcasted. If false, only the event will be raised.</param>
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
Justification = "This cannot be an event")]
[SuppressMessage(
"Microsoft.Design",
"CA1006:GenericMethodsShouldProvideTypeParameter",
Justification = "This syntax is more convenient than other alternatives.")]
protected virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression, T oldValue, T newValue, bool broadcast)
{
if (propertyExpression == null)
{
return;
}
var handler = PropertyChangedHandler;
if (handler != null
|| broadcast)
{
var body = propertyExpression.Body as MemberExpression;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(body.Member.Name));
}
if (broadcast)
{
Broadcast(oldValue, newValue, body.Member.Name);
}
}
}
/// <summary>
/// Assigns a new value to the property. Then, raises the
/// PropertyChanged event if needed, and broadcasts a
/// PropertyChangedMessage using the Messenger instance (or the
/// static default instance if no Messenger instance is available).
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyExpression">An expression identifying the property
/// that changed.</param>
/// <param name="field">The field storing the property's value.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
/// <param name="broadcast">If true, a PropertyChangedMessage will
/// be broadcasted. If false, only the event will be raised.</param>
protected void Set<T>(
Expression<Func<T>> propertyExpression,
ref T field,
T newValue,
bool broadcast)
{
if (EqualityComparer<T>.Default.Equals(field, newValue))
{
return;
}
var oldValue = field;
field = newValue;
RaisePropertyChanged(propertyExpression, oldValue, field, broadcast);
}
/// <summary>
/// Assigns a new value to the property. Then, raises the
/// PropertyChanged event if needed, and broadcasts a
/// PropertyChangedMessage using the Messenger instance (or the
/// static default instance if no Messenger instance is available).
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyName">The name of the property that
/// changed.</param>
/// <param name="field">The field storing the property's value.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
/// <param name="broadcast">If true, a PropertyChangedMessage will
/// be broadcasted. If false, only the event will be raised.</param>
protected void Set<T>(
string propertyName,
ref T field,
T newValue,
bool broadcast)
{
if (EqualityComparer<T>.Default.Equals(field, newValue))
{
return;
}
var oldValue = field;
field = newValue;
RaisePropertyChanged(propertyName, oldValue, field, broadcast);
}
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
<RunConfiguration id="2d4ea1c9-9c2c-4e21-ba7a-1c783c04d914" name="Trace and Test Impact" storage="traceandtestimpact.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestList>
</TestLists>

Просмотреть файл

@ -0,0 +1,42 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight (NET4)", "GalaSoft.MvvmLight (NET4)\GalaSoft.MvvmLight (NET4).csproj", "{E8EF2656-7165-42D1-9C46-63E66679808D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Extras (NET4)", "GalaSoft.MvvmLight.Extras (NET4)\GalaSoft.MvvmLight.Extras (NET4).csproj", "{4934C525-4BC4-400C-B5C8-E5B6CF7CBF7A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Test (NET4)", "GalaSoft.MvvmLight.Test (NET4)\GalaSoft.MvvmLight.Test (NET4).csproj", "{C0D93B39-BD59-4C2E-B6D7-121F20BCAD58}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0D5AAAD3-D9FA-4033-B492-47902952A651}"
ProjectSection(SolutionItems) = preProject
GalaSoft.MvvmLight (NET4).vsmdi = GalaSoft.MvvmLight (NET4).vsmdi
Local.testsettings = Local.testsettings
TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
EndProjectSection
EndProject
Global
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = GalaSoft.MvvmLight (NET4).vsmdi
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E8EF2656-7165-42D1-9C46-63E66679808D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8EF2656-7165-42D1-9C46-63E66679808D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8EF2656-7165-42D1-9C46-63E66679808D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8EF2656-7165-42D1-9C46-63E66679808D}.Release|Any CPU.Build.0 = Release|Any CPU
{4934C525-4BC4-400C-B5C8-E5B6CF7CBF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4934C525-4BC4-400C-B5C8-E5B6CF7CBF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4934C525-4BC4-400C-B5C8-E5B6CF7CBF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4934C525-4BC4-400C-B5C8-E5B6CF7CBF7A}.Release|Any CPU.Build.0 = Release|Any CPU
{C0D93B39-BD59-4C2E-B6D7-121F20BCAD58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0D93B39-BD59-4C2E-B6D7-121F20BCAD58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0D93B39-BD59-4C2E-B6D7-121F20BCAD58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0D93B39-BD59-4C2E-B6D7-121F20BCAD58}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
<RunConfiguration id="83f084d4-c4e9-4c35-b4c2-1fbb67c3e467" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestList>
</TestLists>

Просмотреть файл

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E8EF2656-7165-42D1-9C46-63E66679808D}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.WPF4</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath />
<SccProvider>
</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Debug\GalaSoft.MvvmLight.WPF4.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\GalaSoft.MvvmLight.WPF4.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>GalaSoft.MvvmLight %28NET4%29.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ObservableObject.cs">
<Link>ObservableObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Threading\DispatcherHelper.cs">
<Link>Threading\DispatcherHelper.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs">
<Link>Command\RelayCommand.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommandGeneric.cs">
<Link>Command\RelayCommandGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\IExecuteWithObject.cs">
<Link>Helpers\IExecuteWithObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakAction.cs">
<Link>Helpers\WeakAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakActionGeneric.cs">
<Link>Helpers\WeakActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ICleanup.cs">
<Link>ICleanup.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\DialogMessage.cs">
<Link>Messaging\DialogMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\GenericMessage.cs">
<Link>Messaging\GenericMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\IMessenger.cs">
<Link>Messaging\IMessenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\MessageBase.cs">
<Link>Messaging\MessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\Messenger.cs">
<Link>Messaging\Messenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessage.cs">
<Link>Messaging\NotificationMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageAction.cs">
<Link>Messaging\NotificationMessageAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageActionGeneric.cs">
<Link>Messaging\NotificationMessageActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageGeneric.cs">
<Link>Messaging\NotificationMessageGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageWithCallback.cs">
<Link>Messaging\NotificationMessageWithCallback.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessage.cs">
<Link>Messaging\PropertyChangedMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessageBase.cs">
<Link>Messaging\PropertyChangedMessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs">
<Link>ViewModelBase.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.Net4.cs" />
</ItemGroup>
<ItemGroup>
<None Include="GalaSoft.MvvmLight %28NET4%29.snk" />
<None Include="GalaSoft.MvvmLight.FxCop" />
<None Include="Settings.StyleCop" />
</ItemGroup>
<ItemGroup>
<Content Include="..\GalaSoft.MvvmLight (NET35)\License.txt">
<Link>License.txt</Link>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<FxCopProject Version="1.36" Name="GalaSoft.MvvmLight">
<ProjectOptions>
<SharedProject>True</SharedProject>
<Stylesheet Apply="False">c:\program files\microsoft fxcop 1.36\Xml\FxCopReport.xsl</Stylesheet>
<SaveMessages>
<Project Status="Active, Excluded" NewOnly="False" />
<Report Status="Active" NewOnly="False" />
</SaveMessages>
<ProjectFile Compress="True" DefaultTargetCheck="True" DefaultRuleCheck="True" SaveByRuleGroup="" Deterministic="True" />
<EnableMultithreadedLoad>True</EnableMultithreadedLoad>
<EnableMultithreadedAnalysis>True</EnableMultithreadedAnalysis>
<SourceLookup>True</SourceLookup>
<AnalysisExceptionsThreshold>10</AnalysisExceptionsThreshold>
<RuleExceptionsThreshold>1</RuleExceptionsThreshold>
<Spelling Locale="en-US" />
<OverrideRuleVisibilities>False</OverrideRuleVisibilities>
<CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True" />
<SearchGlobalAssemblyCache>False</SearchGlobalAssemblyCache>
<DeadlockDetectionTimeout>120</DeadlockDetectionTimeout>
<IgnoreGeneratedCode>False</IgnoreGeneratedCode>
</ProjectOptions>
<Targets>
<Target Name="$(ProjectDir)/bin/Debug/GalaSoft.MvvmLight.dll" Analyze="True" AnalyzeAllChildren="True" />
</Targets>
<Rules>
<RuleFiles>
<RuleFile Name="$(FxCopDir)\Rules\DesignRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\GlobalizationRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\InteroperabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\MobilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\NamingRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\PerformanceRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\PortabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True" AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\UsageRules.dll" Enabled="True" AllRulesEnabled="True" />
</RuleFiles>
<Groups />
<Settings />
</Rules>
<FxCopReport Version="1.36">
<Targets>
<Target Name="$(ProjectDir)/bin/Debug/GalaSoft.MvvmLight.dll">
<Modules>
<Module Name="galasoft.mvvmlight.dll">
<Messages>
<Message TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210" Created="2009-06-12 08:20:33Z">
<Issue Name="NoStrongName">
<Item>'GalaSoft.MvvmLight.dll'</Item>
</Issue>
</Message>
</Messages>
<Namespaces>
<Namespace Name="GalaSoft.MvvmLight">
<Types>
<Type Name="ViewModelBase">
<Members>
<Member Name="#IsInDesignModeStatic">
<Accessors>
<Accessor Name="#get_IsInDesignModeStatic()">
<Messages>
<Message TypeName="DoNotIndirectlyExposeMethodsWithLinkDemands" Category="Microsoft.Security" CheckId="CA2122" Created="2009-09-18 22:35:02Z">
<Issue>
<Item>'ViewModelBase.IsInDesignModeStatic.get()'</Item>
<Item>'Process.GetCurrentProcess()'</Item>
<Item>&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'</Item>
</Issue>
<Issue>
<Item>'ViewModelBase.IsInDesignModeStatic.get()'</Item>
<Item>'Process.ProcessName.get()'</Item>
<Item>&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'&#xD;&#xA; -&gt;'ViewModelBase.IsInDesignModeStatic.get()'</Item>
</Issue>
</Message>
</Messages>
</Accessor>
</Accessors>
</Member>
</Members>
</Type>
</Types>
</Namespace>
</Namespaces>
</Module>
</Modules>
</Target>
</Targets>
<Rules>
<Rule TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210">
<Resolution Name="NoStrongName">Sign {0} with a strong name key.</Resolution>
</Rule>
<Rule TypeName="DoNotIndirectlyExposeMethodsWithLinkDemands" Category="Microsoft.Security" CheckId="CA2122">
<Resolution Name="Default">{0} calls into {1} which has a LinkDemand. By making this call, {1} is indirectly exposed to user code. Review the following call stack that might expose a way to circumvent security protection: {2}</Resolution>
</Rule>
</Rules>
</FxCopReport>
</FxCopProject>

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,23 @@
// ****************************************************************************
// <copyright file="AssemblyInfo.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>3.6.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security;
[assembly: Guid("4053e6aa-dac1-4b86-9478-443715f01d58")]
//[assembly: AllowPartiallyTrustedCallers]

Просмотреть файл

@ -0,0 +1,47 @@
<StyleCopSettings Version="4.3">
<Parsers>
<Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.DocumentationRules">
<AnalyzerSettings>
<BooleanProperty Name="IgnorePrivates">True</BooleanProperty>
<BooleanProperty Name="IgnoreInternals">True</BooleanProperty>
</AnalyzerSettings>
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="FieldNamesMustNotBeginWithUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>

Просмотреть файл

@ -0,0 +1,32 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Test (SL3)", "GalaSoft.MvvmLight.Test (SL3)\GalaSoft.MvvmLight.Test (SL3).csproj", "{3A385A3C-0569-4F3B-8D3C-EDAEFB6AA6D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Extras (SL3)", "GalaSoft.MvvmLight.Extras (SL3)\GalaSoft.MvvmLight.Extras (SL3).csproj", "{8ABB3CDF-47C4-468E-9C8A-56491C5F1C7D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight (SL3)", "GalaSoft.MvvmLight (SL3)\GalaSoft.MvvmLight (SL3).csproj", "{74712BA6-83BE-470C-9ED0-879DD1B08D9E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3A385A3C-0569-4F3B-8D3C-EDAEFB6AA6D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A385A3C-0569-4F3B-8D3C-EDAEFB6AA6D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A385A3C-0569-4F3B-8D3C-EDAEFB6AA6D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A385A3C-0569-4F3B-8D3C-EDAEFB6AA6D3}.Release|Any CPU.Build.0 = Release|Any CPU
{8ABB3CDF-47C4-468E-9C8A-56491C5F1C7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8ABB3CDF-47C4-468E-9C8A-56491C5F1C7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8ABB3CDF-47C4-468E-9C8A-56491C5F1C7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8ABB3CDF-47C4-468E-9C8A-56491C5F1C7D}.Release|Any CPU.Build.0 = Release|Any CPU
{74712BA6-83BE-470C-9ED0-879DD1B08D9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74712BA6-83BE-470C-9ED0-879DD1B08D9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74712BA6-83BE-470C-9ED0-879DD1B08D9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74712BA6-83BE-470C-9ED0-879DD1B08D9E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,187 @@
// ****************************************************************************
// <copyright file="ButtonBaseExtensions.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>22.4.2009</date>
// <project>GalaSoft.MvvmLight.Command (SL)</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
// <credits>This class was developed by Josh Smith (http://joshsmithonwpf.wordpress.com) and
// slightly modified with his permission.</credits>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Command
{
/// <summary>
/// Provides attached properties that extend the behavior
/// of controls that derive from ButtonBase.
/// </summary>
////[ClassInfo(typeof(RelayCommand))]
public static class ButtonBaseExtensions
{
/// <summary>
/// Identifies the CommandParameter dependency property.
/// </summary>
public static readonly DependencyProperty CommandParameterProperty =
DependencyProperty.RegisterAttached(
"CommandParameter",
typeof(object),
typeof(ButtonBaseExtensions),
new PropertyMetadata(null, OnCommandParameterChanged));
/// <summary>
/// Identitifies the Command dependency property.
/// </summary>
public static readonly DependencyProperty CommandProperty =
DependencyProperty.RegisterAttached(
"Command",
typeof(ICommand),
typeof(ButtonBaseExtensions),
new PropertyMetadata(null, OnCommandChanged));
private static readonly CommandToButtonsMap CommandToButtonsMap = new CommandToButtonsMap();
/// <summary>
/// Gets the value of the Command dependency property.
/// </summary>
/// <param name="button">An instance of ButtonBase.</param>
/// <returns>The value of the Command dependency property.</returns>
[SuppressMessage("Microsoft.Design",
"CA1011:ConsiderPassingBaseTypesAsParameters",
Justification = "Commands are only for controls deriving from ButtonBase")]
public static ICommand GetCommand(ButtonBase button)
{
return (ICommand) button.GetValue(CommandProperty);
}
/// <summary>
/// Gets the value of the CommandParameter dependency property.
/// </summary>
/// <param name="button">An instance of ButtonBase.</param>
/// <returns>The value of the CommandParameter dependency property.</returns>
[SuppressMessage("Microsoft.Design",
"CA1011:ConsiderPassingBaseTypesAsParameters",
Justification = "Commands are only for controls deriving from ButtonBase")]
public static object GetCommandParameter(ButtonBase button)
{
return button.GetValue(CommandParameterProperty);
}
/// <summary>
/// Sets the value of the <see cref="Command" /> dependency property.
/// </summary>
/// <param name="button">An instance of ButtonBase.</param>
/// <param name="value">The new value to set on the Command dependency property.</param>
[SuppressMessage("Microsoft.Design",
"CA1011:ConsiderPassingBaseTypesAsParameters",
Justification = "Commands are only for controls deriving from ButtonBase")]
public static void SetCommand(ButtonBase button, ICommand value)
{
button.SetValue(CommandProperty, value);
}
/// <summary>
/// Sets the value of the CommandParameter dependency property.
/// </summary>
/// <param name="button">An instance of ButtonBase.</param>
/// <param name="value">The new value to set on the CommandParameter dependency property.</param>
[SuppressMessage("Microsoft.Design",
"CA1011:ConsiderPassingBaseTypesAsParameters",
Justification = "Commands are only for controls deriving from ButtonBase")]
public static void SetCommandParameter(ButtonBase button, object value)
{
button.SetValue(CommandParameterProperty, value);
}
private static void OnButtonBaseClick(object sender, RoutedEventArgs e)
{
var btn = sender as ButtonBase;
var cmd = GetCommand(btn);
var parameter = GetCommandParameter(btn);
if (cmd != null
&& cmd.CanExecute(parameter))
{
cmd.Execute(parameter);
}
}
private static void OnCommandCanExecuteChanged(object sender, EventArgs e)
{
var cmd = sender as ICommand;
if (cmd != null
&& CommandToButtonsMap.ContainsCommand(cmd))
{
CommandToButtonsMap.ForEachButton(
cmd,
btn =>
{
var parameter = GetCommandParameter(btn);
btn.IsEnabled = cmd.CanExecute(parameter);
});
}
}
private static void OnCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var button = d as ButtonBase;
if (button == null)
{
throw new ArgumentException(
"You must set the Command attached property on an element that derives from ButtonBase.");
}
var oldCommand = e.OldValue as ICommand;
if (oldCommand != null)
{
CommandToButtonsMap.RemoveButtonFromMap(button, oldCommand);
oldCommand.CanExecuteChanged -= OnCommandCanExecuteChanged;
button.Click -= OnButtonBaseClick;
}
var newCommand = e.NewValue as ICommand;
if (newCommand != null)
{
CommandToButtonsMap.AddButtonToMap(button, newCommand);
newCommand.CanExecuteChanged += OnCommandCanExecuteChanged;
button.Click += OnButtonBaseClick;
// Bug fix (BL0004.002)
var parameter = GetCommandParameter(button);
button.IsEnabled = newCommand.CanExecute(parameter);
}
}
private static void OnCommandParameterChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
var btn = obj as ButtonBase;
if (btn == null)
{
throw new ArgumentException(
"You must set the CommandParameter attached property on an element that derives from ButtonBase.");
}
var cmd = GetCommand(btn);
if (cmd == null)
{
return;
}
var parameter = GetCommandParameter(btn);
btn.IsEnabled = cmd.CanExecute(parameter);
}
}
}

Просмотреть файл

@ -0,0 +1,119 @@
// ****************************************************************************
// <copyright file="CommandToButtonsMap.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>22.4.2009</date>
// <project>GalaSoft.MvvmLight.Command (SL)</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
// <credits>This class was developed by Josh Smith (http://joshsmithonwpf.wordpress.com) and
// slightly modified with his permission.</credits>
// ****************************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight.Command
{
/// <summary>
/// Maps ICommand objects to lists of ButtonBase objects. Stores the object references
/// as WeakReferences, so that the commands and buttons can be garbage collected as necessary.
/// </summary>
////[ClassInfo(typeof(RelayCommand))]
internal class CommandToButtonsMap
{
private readonly Dictionary<WeakReference, List<WeakReference>> _map =
new Dictionary<WeakReference, List<WeakReference>>();
internal void AddButtonToMap(ButtonBase button, ICommand comand)
{
if (!ContainsCommand(comand))
{
_map.Add(new WeakReference(comand), new List<WeakReference>());
}
var weakRefs = GetButtonsFromCommand(comand);
weakRefs.Add(new WeakReference(button));
}
internal bool ContainsCommand(ICommand command)
{
return GetButtonsFromCommand(command) != null;
}
internal void ForEachButton(ICommand command, Action<ButtonBase> callback)
{
var buttonRefs = GetButtonsFromCommand(command);
for (var i = buttonRefs.Count - 1; i > -1; --i)
{
var weakRef = buttonRefs[i];
var button = weakRef.Target as ButtonBase;
if (button != null)
{
callback(button);
}
}
}
internal void RemoveButtonFromMap(ButtonBase button, ICommand command)
{
var buttonRefs = GetButtonsFromCommand(command);
if (buttonRefs == null)
{
return;
}
for (var i = buttonRefs.Count - 1; i > -1; --i)
{
var weakRef = buttonRefs[i];
if (weakRef.Target == button)
{
buttonRefs.RemoveAt(i);
break;
}
}
}
private List<WeakReference> GetButtonsFromCommand(ICommand command)
{
Prune();
return _map.FirstOrDefault(entry => entry.Key.Target == command).Value;
}
private void Prune()
{
var commands = _map.Keys.ToList();
for (var commandIndex = commands.Count - 1; commandIndex > -1; --commandIndex)
{
var commandRef = commands[commandIndex];
if (!commandRef.IsAlive)
{
_map.Remove(commandRef);
}
else
{
var buttons = _map[commandRef];
for (var buttonIndex = buttons.Count - 1; buttonIndex > -1; --buttonIndex)
{
var buttonRef = buttons[buttonIndex];
if (!buttonRef.IsAlive)
{
buttons.RemoveAt(buttonIndex);
}
}
}
}
}
}
}

Просмотреть файл

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{74712BA6-83BE-470C-9ED0-879DD1B08D9E}</ProjectGuid>
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight</AssemblyName>
<TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
<SilverlightApplication>false</SilverlightApplication>
<ValidateXaml>true</ValidateXaml>
<ThrowErrorsInValidation>false</ThrowErrorsInValidation>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>GalaSoft.MvvmLight %28SL3%29.snk</AssemblyOriginatorKeyFile>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>false</RunCodeAnalysis>
<NoWarn>618</NoWarn>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DocumentationFile>Bin\Debug\GalaSoft.MvvmLight.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DocumentationFile>Bin\Release\GalaSoft.MvvmLight.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.Windows" />
<Reference Include="mscorlib" />
<Reference Include="system" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Net" />
<Reference Include="System.Windows.Browser" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ObservableObject.cs">
<Link>ObservableObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Threading\DispatcherHelper.cs">
<Link>Threading\DispatcherHelper.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs">
<Link>Command\RelayCommand.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommandGeneric.cs">
<Link>Command\RelayCommandGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\IExecuteWithObject.cs">
<Link>Helpers\IExecuteWithObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakAction.cs">
<Link>Helpers\WeakAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakActionGeneric.cs">
<Link>Helpers\WeakActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ICleanup.cs">
<Link>ICleanup.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\DialogMessage.cs">
<Link>Messaging\DialogMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\GenericMessage.cs">
<Link>Messaging\GenericMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\IMessenger.cs">
<Link>Messaging\IMessenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\MessageBase.cs">
<Link>Messaging\MessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\Messenger.cs">
<Link>Messaging\Messenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessage.cs">
<Link>Messaging\NotificationMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageAction.cs">
<Link>Messaging\NotificationMessageAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageActionGeneric.cs">
<Link>Messaging\NotificationMessageActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageGeneric.cs">
<Link>Messaging\NotificationMessageGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageWithCallback.cs">
<Link>Messaging\NotificationMessageWithCallback.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessage.cs">
<Link>Messaging\PropertyChangedMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessageBase.cs">
<Link>Messaging\PropertyChangedMessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs">
<Link>ViewModelBase.cs</Link>
</Compile>
<Compile Include="Command\ButtonBaseExtensions.cs" />
<Compile Include="Command\CommandToButtonsMap.cs" />
<Compile Include="Properties\AssemblyInfo.SL3.cs" />
</ItemGroup>
<ItemGroup>
<None Include="GalaSoft.MvvmLight %28SL3%29.snk" />
<None Include="Settings.StyleCop" />
</ItemGroup>
<ItemGroup>
<Content Include="..\GalaSoft.MvvmLight (NET35)\License.txt">
<Link>License.txt</Link>
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
<SilverlightProjectProperties />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,22 @@
// ****************************************************************************
// <copyright file="AssemblyInfo.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>3.6.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security;
[assembly: Guid("c6e144a4-ba21-415a-9946-933d256e28dd")]

Просмотреть файл

@ -0,0 +1,47 @@
<StyleCopSettings Version="4.3">
<Parsers>
<Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.DocumentationRules">
<AnalyzerSettings>
<BooleanProperty Name="IgnorePrivates">True</BooleanProperty>
<BooleanProperty Name="IgnoreInternals">True</BooleanProperty>
</AnalyzerSettings>
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="FieldNamesMustNotBeginWithUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>

Просмотреть файл

@ -0,0 +1,32 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight (SL4)", "GalaSoft.MvvmLight (SL4)\GalaSoft.MvvmLight (SL4).csproj", "{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Extras (SL4)", "GalaSoft.MvvmLight.Extras (SL4)\GalaSoft.MvvmLight.Extras (SL4).csproj", "{CC59E77A-1843-4293-B7CC-1BC84F79ABB7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Test (SL4)", "GalaSoft.MvvmLight.Test (SL4)\GalaSoft.MvvmLight.Test (SL4).csproj", "{540219BD-EBEA-4956-AAF7-CA1A87B1D177}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}.Release|Any CPU.Build.0 = Release|Any CPU
{CC59E77A-1843-4293-B7CC-1BC84F79ABB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC59E77A-1843-4293-B7CC-1BC84F79ABB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC59E77A-1843-4293-B7CC-1BC84F79ABB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC59E77A-1843-4293-B7CC-1BC84F79ABB7}.Release|Any CPU.Build.0 = Release|Any CPU
{540219BD-EBEA-4956-AAF7-CA1A87B1D177}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{540219BD-EBEA-4956-AAF7-CA1A87B1D177}.Debug|Any CPU.Build.0 = Debug|Any CPU
{540219BD-EBEA-4956-AAF7-CA1A87B1D177}.Release|Any CPU.ActiveCfg = Release|Any CPU
{540219BD-EBEA-4956-AAF7-CA1A87B1D177}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{11A41BAF-44C7-4F4E-9E7C-B9427414AEA6}</ProjectGuid>
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.SL4</AssemblyName>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>false</SilverlightApplication>
<ValidateXaml>true</ValidateXaml>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath />
<SccProvider>
</SccProvider>
</PropertyGroup>
<!-- This property group is only here to support building this project using the
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
to set the TargetFrameworkVersion to v3.5 -->
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>Bin\Debug\GalaSoft.MvvmLight.SL4.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>Bin\Release\GalaSoft.MvvmLight.SL4.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>GalaSoft.MvvmLight %28SL4%29.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System.Windows" />
<Reference Include="system" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Net" />
<Reference Include="System.Windows.Browser" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ObservableObject.cs">
<Link>ObservableObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Threading\DispatcherHelper.cs">
<Link>Threading\DispatcherHelper.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs">
<Link>Command\RelayCommand.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Command\RelayCommandGeneric.cs">
<Link>Command\RelayCommandGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\IExecuteWithObject.cs">
<Link>Helpers\IExecuteWithObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakAction.cs">
<Link>Helpers\WeakAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Helpers\WeakActionGeneric.cs">
<Link>Helpers\WeakActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ICleanup.cs">
<Link>ICleanup.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\DialogMessage.cs">
<Link>Messaging\DialogMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\GenericMessage.cs">
<Link>Messaging\GenericMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\IMessenger.cs">
<Link>Messaging\IMessenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\MessageBase.cs">
<Link>Messaging\MessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\Messenger.cs">
<Link>Messaging\Messenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessage.cs">
<Link>Messaging\NotificationMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageAction.cs">
<Link>Messaging\NotificationMessageAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageActionGeneric.cs">
<Link>Messaging\NotificationMessageActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageGeneric.cs">
<Link>Messaging\NotificationMessageGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\NotificationMessageWithCallback.cs">
<Link>Messaging\NotificationMessageWithCallback.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessage.cs">
<Link>Messaging\PropertyChangedMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\Messaging\PropertyChangedMessageBase.cs">
<Link>Messaging\PropertyChangedMessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs">
<Link>ViewModelBase.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.SL4.cs" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Content Include="..\GalaSoft.MvvmLight (NET35)\License.txt">
<Link>License.txt</Link>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="GalaSoft.MvvmLight %28SL4%29.snk" />
<None Include="Settings.StyleCop" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
<SilverlightProjectProperties />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,18 @@
// ****************************************************************************
// <copyright file="AssemblyInfo.cs" company="GalaSoft Laurent Bugnion">
// Copyright © GalaSoft Laurent Bugnion 2009-2011
// </copyright>
// ****************************************************************************
// <author>Laurent Bugnion</author>
// <email>laurent@galasoft.ch</email>
// <date>3.6.2009</date>
// <project>GalaSoft.MvvmLight</project>
// <web>http://www.galasoft.ch</web>
// <license>
// See license.txt in this project or http://www.galasoft.ch/license_MIT.txt
// </license>
// ****************************************************************************
using System.Runtime.InteropServices;
[assembly: Guid("1e6fd8d3-c424-4beb-b146-a6a78fef2580")]

Просмотреть файл

@ -0,0 +1,47 @@
<StyleCopSettings Version="4.3">
<Parsers>
<Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.DocumentationRules">
<AnalyzerSettings>
<BooleanProperty Name="IgnorePrivates">True</BooleanProperty>
<BooleanProperty Name="IgnoreInternals">True</BooleanProperty>
</AnalyzerSettings>
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="FieldNamesMustNotBeginWithUnderscore">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>

Просмотреть файл

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D9C091D2-648C-46F0-B897-1522CE9EF728}</ProjectGuid>
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.SL5</AssemblyName>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>false</SilverlightApplication>
<ValidateXaml>true</ValidateXaml>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
</PropertyGroup>
<!-- This property group is only here to support building this project using the
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
to set the TargetFrameworkVersion to v3.5 -->
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>Bin\Debug\GalaSoft.MvvmLight.SL5.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>GalaSoft.MvvmLight %28SL5%29.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System.Windows" />
<Reference Include="system" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Net" />
<Reference Include="System.Windows.Browser" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Command\RelayCommand.cs">
<Link>Command\RelayCommand.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Command\RelayCommandGeneric.cs">
<Link>Command\RelayCommandGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Helpers\IExecuteWithObject.cs">
<Link>Helpers\IExecuteWithObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Helpers\WeakAction.cs">
<Link>Helpers\WeakAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Helpers\WeakActionGeneric.cs">
<Link>Helpers\WeakActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ICleanup.cs">
<Link>ICleanup.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\DialogMessage.cs">
<Link>Messaging\DialogMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\GenericMessage.cs">
<Link>Messaging\GenericMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\IMessenger.cs">
<Link>Messaging\IMessenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\MessageBase.cs">
<Link>Messaging\MessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\Messenger.cs">
<Link>Messaging\Messenger.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessage.cs">
<Link>Messaging\NotificationMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageAction.cs">
<Link>Messaging\NotificationMessageAction.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageActionGeneric.cs">
<Link>Messaging\NotificationMessageActionGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageGeneric.cs">
<Link>Messaging\NotificationMessageGeneric.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageWithCallback.cs">
<Link>Messaging\NotificationMessageWithCallback.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\PropertyChangedMessage.cs">
<Link>Messaging\PropertyChangedMessage.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Messaging\PropertyChangedMessageBase.cs">
<Link>Messaging\PropertyChangedMessageBase.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ObservableObject.cs">
<Link>ObservableObject.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\Threading\DispatcherHelper.cs">
<Link>Threading\DispatcherHelper.cs</Link>
</Compile>
<Compile Include="..\GalaSoft.MvvmLight %28NET35%29\ViewModelBase.cs">
<Link>ViewModelBase.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.SL5.cs" />
</ItemGroup>
<ItemGroup>
<None Include="GalaSoft.MvvmLight %28SL5%29.snk" />
</ItemGroup>
<ItemGroup>
<Content Include="..\GalaSoft.MvvmLight %28NET35%29\License.txt">
<Link>License.txt</Link>
</Content>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
<SilverlightProjectProperties />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Двоичный файл не отображается.

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше