changeset 26:045dac571339

Working on data binding to a user control
author adminsh@apollo
date Wed, 21 Mar 2012 15:39:53 +0000
parents 81f9b72a44ce
children 96fdf58e05b4
files Messaging/Client/App.xaml Messaging/Client/App.xaml.cs Messaging/Client/Client.csproj Messaging/Client/MainWindow.xaml Messaging/Client/MainWindow.xaml.cs Messaging/Client/Properties/AssemblyInfo.cs Messaging/Client/Properties/Resources.Designer.cs Messaging/Client/Properties/Resources.resx Messaging/Client/Properties/Settings.Designer.cs Messaging/Client/Properties/Settings.settings Messaging/Client/Sockets/AsynchronousClient.cs Messaging/Client/Sockets/StateObject.cs Messaging/Client/message.ico Messaging/Common/Binding/BindingErrorTraceListener.cs Messaging/Common/Common.csproj Messaging/Common/Controls/MessageTile.xaml Messaging/Common/Controls/MessageTile.xaml.cs Messaging/Common/Icons/Mail.png Messaging/Common/Icons/add.png Messaging/Common/Icons/back.png Messaging/Common/Icons/basecircle.png Messaging/Common/Icons/cancel.png Messaging/Common/Icons/check.png Messaging/Common/Icons/delete.png Messaging/Common/Icons/download.png Messaging/Common/Icons/edit.png Messaging/Common/Icons/favs.png Messaging/Common/Icons/heart.png Messaging/Common/Icons/i.png Messaging/Common/Icons/minus.png Messaging/Common/Icons/next.png Messaging/Common/Icons/parent.png Messaging/Common/Icons/pause.png Messaging/Common/Icons/play.png Messaging/Common/Icons/questionmark.png Messaging/Common/Icons/refresh.png Messaging/Common/Icons/save.png Messaging/Common/Icons/search.png Messaging/Common/Icons/settings.png Messaging/Common/Icons/upload.png Messaging/Common/Logger/Log.cs Messaging/Common/Messages/LogMessage.cs Messaging/Common/Properties/AssemblyInfo.cs Messaging/Common/Settings.cs Messaging/Libs/Elysium.Theme.1.3/Elysium.Theme.dll Messaging/Libs/Elysium.Theme.1.3/Elysium.Theme.xml Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Drawing.dll Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Drawing.xml Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.dll Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.resources.dll Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.xml Messaging/Libs/Elysium.Theme.1.3/Microsoft.Windows.Shell.dll Messaging/Libs/Elysium.Theme.1.3/Microsoft.Windows.Shell.xml Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.dll Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.resources.dll Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.xml Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.Extras.WPF4.dll Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.Extras.WPF4.xml Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.WPF4.dll Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.WPF4.xml Messaging/Libs/MvvmLight.4.0/Microsoft.Practices.ServiceLocation.dll Messaging/Libs/MvvmLight.4.0/Microsoft.Practices.ServiceLocation.xml Messaging/Libs/MvvmLight.4.0/System.Windows.Interactivity.dll Messaging/Libs/MvvmLight.4.0/System.Windows.Interactivity.xml Messaging/Messaging.sln Messaging/Server/App.xaml Messaging/Server/App.xaml.cs Messaging/Server/Converters/ToggleButtonToTextConverter.cs Messaging/Server/Interfaces/IListener.cs Messaging/Server/Locator.cs Messaging/Server/Properties/AssemblyInfo.cs Messaging/Server/Properties/Resources.Designer.cs Messaging/Server/Properties/Resources.resx Messaging/Server/Properties/Settings.Designer.cs Messaging/Server/Properties/Settings.settings Messaging/Server/Server.csproj Messaging/Server/Sockets/AsyncSocketListener.cs Messaging/Server/Sockets/StateObject.cs Messaging/Server/UI/MainWindow.xaml Messaging/Server/UI/MainWindow.xaml.cs Messaging/Server/UI/MainWindowViewModel.cs Messaging/Server/UI/MessagingEndpoint.cs Messaging/Server/UI/mail.ico
diffstat 83 files changed, 10386 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/App.xaml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,8 @@
+<Application x:Class="Client.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/App.xaml.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Windows;
+
+namespace Client
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Client.csproj	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,107 @@
+<?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)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Client</RootNamespace>
+    <AssemblyName>Client</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>message.ico</ApplicationIcon>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Compile Include="Sockets\AsynchronousClient.cs" />
+    <Compile Include="Sockets\StateObject.cs" />
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <AppDesigner Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="message.ico" />
+  </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>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/MainWindow.xaml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,8 @@
+<Window x:Class="Client.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        Title="MainWindow" Height="350" Width="525">
+    <Grid>
+        
+    </Grid>
+</Window>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/MainWindow.xaml.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Client
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Properties/AssemblyInfo.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Client")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Client")]
+[assembly: AssemblyCopyright("Copyright ©  2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set 
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+    //(used if a resource is not found in the page, 
+    // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+    //(used if a resource is not found in the page, 
+    // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Properties/Resources.Designer.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.530
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Client.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Client.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Properties/Resources.resx	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Properties/Settings.Designer.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.530
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Client.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Properties/Settings.settings	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Sockets/AsynchronousClient.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,187 @@
+using System;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+
+namespace Client.Sockets
+{
+    public class AsynchronousClient
+    {
+        // The port number for the remote device.
+        private const int Port = 11000;
+
+        // ManualResetEvent instances signal completion.
+        private static readonly ManualResetEvent connectDone =
+            new ManualResetEvent(false);
+
+        private static readonly ManualResetEvent sendDone =
+            new ManualResetEvent(false);
+
+        private static readonly ManualResetEvent receiveDone =
+            new ManualResetEvent(false);
+
+        // The response from the remote device.
+        private static String response = String.Empty;
+
+        private static void StartClient()
+        {
+            // Connect to a remote device.
+            try
+            {
+                // Establish the remote endpoint for the socket.
+                // The name of the 
+                // remote device is "host.contoso.com".
+                var ipHostInfo = Dns.GetHostEntry("host.contoso.com");
+                var ipAddress = ipHostInfo.AddressList[0];
+                var remoteEP = new IPEndPoint(ipAddress, Port);
+
+                // Create a TCP/IP socket.
+                var client = new Socket(
+                    AddressFamily.InterNetwork,
+                    SocketType.Stream, 
+                    ProtocolType.Tcp);
+
+                // Connect to the remote endpoint.
+                client.BeginConnect(
+                    remoteEP,
+                    ConnectCallback, 
+                    client);
+                
+                connectDone.WaitOne();
+
+                // Send test data to the remote device.
+                Send(client, "This is a test<EOF>");
+                sendDone.WaitOne();
+
+                // Receive the response from the remote device.
+                Receive(client);
+                receiveDone.WaitOne();
+
+                // Write the response to the console.
+                Console.WriteLine("Response received : {0}", response);
+
+                // Release the socket.
+                client.Shutdown(SocketShutdown.Both);
+                client.Close();
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+
+        private static void ConnectCallback(IAsyncResult ar)
+        {
+            try
+            {
+                // Retrieve the socket from the state object.
+                var client = (Socket) ar.AsyncState;
+
+                // Complete the connection.
+                client.EndConnect(ar);
+
+                Console.WriteLine(
+                    "Socket connected to {0}",
+                    client.RemoteEndPoint);
+
+                // Signal that the connection has been made.
+                connectDone.Set();
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+
+        private static void Receive(Socket client)
+        {
+            try
+            {
+                // Create the state object.
+                var state = new StateObject {WorkSocket = client};
+
+                // Begin receiving the data from the remote device.
+                client.BeginReceive(state.Buffer, 0, StateObject.BufferSize, 0,
+                                    ReceiveCallback, state);
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+
+        private static void ReceiveCallback(IAsyncResult ar)
+        {
+            try
+            {
+                // Retrieve the state object and the client socket 
+                // from the asynchronous state object.
+                var state = (StateObject) ar.AsyncState;
+                var client = state.WorkSocket;
+
+                // Read data from the remote device.
+                var bytesRead = client.EndReceive(ar);
+
+                if (bytesRead > 0)
+                {
+                    // There might be more data, so store the data received so far.
+                    state.Sb.Append(Encoding.ASCII.GetString(state.Buffer, 0, bytesRead));
+
+                    // Get the rest of the data.
+                    client.BeginReceive(state.Buffer, 0, StateObject.BufferSize, 0,
+                                        ReceiveCallback, state);
+                }
+                else
+                {
+                    // All the data has arrived; put it in response.
+                    if (state.Sb.Length > 1)
+                    {
+                        response = state.Sb.ToString();
+                    }
+                    // Signal that all bytes have been received.
+                    receiveDone.Set();
+                }
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+
+        private static void Send(Socket client, String data)
+        {
+            // Convert the string data to byte data using ASCII encoding.
+            var byteData = Encoding.ASCII.GetBytes(data);
+
+            // Begin sending the data to the remote device.
+            client.BeginSend(
+                byteData, 
+                0, 
+                byteData.Length, 
+                0,
+                SendCallback, 
+                client);
+        }
+
+        private static void SendCallback(IAsyncResult ar)
+        {
+            try
+            {
+                // Retrieve the socket from the state object.
+                var client = (Socket) ar.AsyncState;
+
+                // Complete sending the data to the remote device.
+                var bytesSent = client.EndSend(ar);
+                Console.WriteLine("Sent {0} bytes to server.", bytesSent);
+
+                // Signal that all bytes have been sent.
+                sendDone.Set();
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Client/Sockets/StateObject.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,21 @@
+using System.Net.Sockets;
+using System.Text;
+
+namespace Client.Sockets
+{
+    // State object for receiving data from remote device.
+    public class StateObject
+    {
+        // Size of receive buffer
+        public const int BufferSize = 256;
+
+        // Receive buffer
+        public byte[] Buffer = new byte[BufferSize];
+
+        // Received data string
+        public StringBuilder Sb = new StringBuilder();
+
+        // Client socket
+        public Socket WorkSocket;
+    }
+}
Binary file Messaging/Client/message.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Binding/BindingErrorTraceListener.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,69 @@
+// http://www.switchonthecode.com/tutorials/wpf-snippet-detecting-binding-errors
+
+using System.Diagnostics;
+using System.Text;
+using System.Windows;
+
+namespace Common.Binding
+{
+    public class BindingErrorTraceListener : DefaultTraceListener
+    {
+        private static BindingErrorTraceListener _listener;
+
+
+        private readonly StringBuilder _message = new StringBuilder();
+
+        private BindingErrorTraceListener()
+        {
+        }
+
+        public override void Write(string message)
+        {
+            _message.Append(message);
+        }
+
+        public override void WriteLine(string message)
+        {
+            _message.Append(message);
+
+            var final = _message.ToString();
+            _message.Length = 0;
+
+            MessageBox.Show(final,
+              "Binding Error",
+              MessageBoxButton.OK,
+              MessageBoxImage.Error);
+        }
+
+        public static void CloseTrace()
+        {
+            if (_listener == null)
+            {
+                return;
+            }
+
+            _listener.Flush();
+            _listener.Close();
+            PresentationTraceSources.DataBindingSource.Listeners.Remove(_listener);
+            _listener = null;
+        }
+
+        [Conditional("DEBUG")]
+        public static void SetTrace()
+        {
+            SetTrace(SourceLevels.Error, TraceOptions.None);
+        }
+
+        public static void SetTrace(SourceLevels level, TraceOptions options)
+        {
+            if (_listener == null)
+            {
+                _listener = new BindingErrorTraceListener();
+                PresentationTraceSources.DataBindingSource.Listeners.Add(_listener);
+            }
+
+            _listener.TraceOutputOptions = options;
+            PresentationTraceSources.DataBindingSource.Switch.Level = level;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Common.csproj	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,95 @@
+<?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>{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Common</RootNamespace>
+    <AssemblyName>Common</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </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>
+  </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>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="GalaSoft.MvvmLight.WPF4, Version=0.0.0.0, Culture=neutral, PublicKeyToken=63eb5c012e0b3c1c, processorArchitecture=MSIL">
+      <HintPath>..\Libs\MvvmLight.4.0\GalaSoft.MvvmLight.WPF4.dll</HintPath>
+    </Reference>
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xaml" />
+    <Reference Include="WindowsBase" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Binding\BindingErrorTraceListener.cs" />
+    <Compile Include="Logger\Log.cs" />
+    <Compile Include="Messages\LogMessage.cs" />
+    <Compile Include="Controls\MessageTile.xaml.cs">
+      <DependentUpon>MessageTile.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Settings.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="Controls\MessageTile.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="Icons\Mail.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="Icons\add.png" />
+    <Resource Include="Icons\back.png" />
+    <Resource Include="Icons\basecircle.png" />
+    <Resource Include="Icons\cancel.png" />
+    <Resource Include="Icons\check.png" />
+    <Resource Include="Icons\delete.png" />
+    <Resource Include="Icons\download.png" />
+    <Resource Include="Icons\edit.png" />
+    <Resource Include="Icons\favs.png" />
+    <Resource Include="Icons\heart.png" />
+    <Resource Include="Icons\i.png" />
+    <Resource Include="Icons\minus.png" />
+    <Resource Include="Icons\next.png" />
+    <Resource Include="Icons\parent.png" />
+    <Resource Include="Icons\pause.png" />
+    <Resource Include="Icons\play.png" />
+    <Resource Include="Icons\questionmark.png" />
+    <Resource Include="Icons\refresh.png" />
+    <Resource Include="Icons\save.png" />
+    <Resource Include="Icons\search.png" />
+    <Resource Include="Icons\settings.png" />
+    <Resource Include="Icons\upload.png" />
+  </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>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Controls/MessageTile.xaml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,62 @@
+<UserControl x:Class="Common.Controls.MessageTile"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             Width="200"
+             Height="200"
+             DataContext="{Binding RelativeSource={RelativeSource Mode=Self}}"
+             mc:Ignorable="d">
+
+    <Grid>
+
+        <Grid.RowDefinitions>
+            <RowDefinition Height="60" />
+            <RowDefinition Height="60" />
+            <RowDefinition Height="75" />
+        </Grid.RowDefinitions>
+
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="*" />
+            <ColumnDefinition Width="*" />
+        </Grid.ColumnDefinitions>
+
+        <Image Name="imageIcon"
+               Grid.Row="0"
+               Grid.Column="0"
+               Margin="10,10,0,0"
+               HorizontalAlignment="Left"
+               VerticalAlignment="Top"
+               Source="{Binding Path=DisplayIcon,
+                                Mode=OneWay,
+                                UpdateSourceTrigger=PropertyChanged}"
+               Stretch="None" />
+
+        <TextBlock Name="tbCount"
+                   Grid.Row="1"
+                   Grid.Column="0"
+                   Grid.ColumnSpan="2"
+                   Margin="0,0,10,0"
+                   HorizontalAlignment="Right"
+                   FontSize="48"
+                   Text="{Binding Path=DisplayCount,
+                                  StringFormat=N0,
+                                  Mode=TwoWay,
+                                  UpdateSourceTrigger=PropertyChanged}" />
+
+        <TextBlock Name="tbTitle"
+                   Grid.Row="2"
+                   Grid.RowSpan="2"
+                   Grid.Column="0"
+                   Grid.ColumnSpan="3"
+                   Margin="10"
+                   HorizontalAlignment="Right"
+                   VerticalAlignment="Bottom"
+                   FontSize="24"
+                   Text="{Binding Path=DisplayText,
+                                  Mode=TwoWay,
+                                  UpdateSourceTrigger=PropertyChanged}"
+                   TextWrapping="Wrap" />
+
+    </Grid>
+</UserControl>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Controls/MessageTile.xaml.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,80 @@
+using System;
+using System.ComponentModel;
+using System.Windows;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+
+namespace Common.Controls
+{
+    /// <summary>
+    /// Interaction logic for MessageTile.xaml
+    /// </summary>
+    public partial class MessageTile
+    {
+        public MessageTile()
+        {
+            InitializeComponent();
+        }
+
+        #region Dependency Properties
+
+        #region DisplayIcon
+
+        /// <summary>
+        /// Icon for the tile
+        /// </summary>
+        public static readonly DependencyProperty DisplayIconProperty =
+            DependencyProperty.Register("DisplayIcon",
+                typeof(BitmapImage),
+                typeof(MessageTile),
+                new PropertyMetadata(null));
+
+        [Bindable(true)]
+        public BitmapImage DisplayIcon
+        {
+            get { return (BitmapImage)this.GetValue(DisplayIconProperty); }
+            set { this.SetValue(DisplayIconProperty, value); }
+        }
+        #endregion
+
+        #region DisplayCount
+
+        /// <summary>
+        /// Display count for the tile
+        /// </summary>
+        public static readonly DependencyProperty DisplayCountProperty =
+            DependencyProperty.Register("DisplayCount",
+                typeof(int),
+                typeof(MessageTile),
+                new PropertyMetadata(0));
+
+        [Bindable(true)]
+        public int DisplayCount
+        {
+            get { return (int) this.GetValue(DisplayCountProperty); }
+            set { this.SetValue(DisplayCountProperty, value); }
+        }
+        #endregion
+
+        #region DisplayText
+
+        /// <summary>
+        /// Main Display text for the tile
+        /// </summary>
+        public static readonly DependencyProperty DisplayTextProperty =
+            DependencyProperty.Register("DisplayText",
+                typeof(string),
+                typeof(MessageTile),
+                new PropertyMetadata("Not set"));
+
+        [Bindable(true)]
+        public string DisplayText
+        {
+            get { return (string) this.GetValue(DisplayTextProperty); }
+            set { this.SetValue(DisplayTextProperty, value); }
+        }
+        #endregion
+
+        #endregion
+    }
+}
Binary file Messaging/Common/Icons/Mail.png has changed
Binary file Messaging/Common/Icons/add.png has changed
Binary file Messaging/Common/Icons/back.png has changed
Binary file Messaging/Common/Icons/basecircle.png has changed
Binary file Messaging/Common/Icons/cancel.png has changed
Binary file Messaging/Common/Icons/check.png has changed
Binary file Messaging/Common/Icons/delete.png has changed
Binary file Messaging/Common/Icons/download.png has changed
Binary file Messaging/Common/Icons/edit.png has changed
Binary file Messaging/Common/Icons/favs.png has changed
Binary file Messaging/Common/Icons/heart.png has changed
Binary file Messaging/Common/Icons/i.png has changed
Binary file Messaging/Common/Icons/minus.png has changed
Binary file Messaging/Common/Icons/next.png has changed
Binary file Messaging/Common/Icons/parent.png has changed
Binary file Messaging/Common/Icons/pause.png has changed
Binary file Messaging/Common/Icons/play.png has changed
Binary file Messaging/Common/Icons/questionmark.png has changed
Binary file Messaging/Common/Icons/refresh.png has changed
Binary file Messaging/Common/Icons/save.png has changed
Binary file Messaging/Common/Icons/search.png has changed
Binary file Messaging/Common/Icons/settings.png has changed
Binary file Messaging/Common/Icons/upload.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Logger/Log.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,13 @@
+using Common.Messages;
+using GalaSoft.MvvmLight.Messaging;
+
+namespace Common.Logger
+{
+    public class Log
+    {
+        public static void Write(string body)
+        {
+            Messenger.Default.Send(new LogMessage() { Body = body });
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Messages/LogMessage.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,9 @@
+using GalaSoft.MvvmLight.Messaging;
+
+namespace Common.Messages
+{
+    public class LogMessage : MessageBase
+    {
+        public string Body { get; set; }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Properties/AssemblyInfo.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Common")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Common")]
+[assembly: AssemblyCopyright("Copyright ©  2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("26093156-666a-4bb1-9fa4-bd08a9c4d83d")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Common/Settings.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,9 @@
+namespace Common
+{
+    public class Settings
+    {
+        public const int SocketsPortNumber = 10001;
+        public const string QueueName = "Queue#1";
+        //public const string Uri = @"amqp://user:pass@localhost:5672/vhost\";
+    }
+}
Binary file Messaging/Libs/Elysium.Theme.1.3/Elysium.Theme.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/Elysium.Theme.1.3/Elysium.Theme.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,337 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Elysium.Theme</name>
+    </assembly>
+    <members>
+        <member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
+            <summary>
+            Indicates that marked element should be localized or not.
+            </summary>
+        </member>
+        <member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/> class.
+            </summary>
+            <param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param>
+        </member>
+        <member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)">
+            <summary>
+            Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.
+            </summary>
+            <param name="obj">The object to test the value equality of. </param>
+            <returns>
+            <c>true</c> if the value of the given object is equal to that of the current; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>A hash code for the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute"/>.</returns>
+        </member>
+        <member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required">
+            <summary>
+            Gets a value indicating whether a element should be localized.
+            <value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
+            <summary>
+            Indicates that marked method builds string by format pattern and (optional) arguments. 
+            Parameter, which contains format string, should be given in constructor.
+            The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> -like form
+            </summary>
+        </member>
+        <member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
+            <summary>
+            Initializes new instance of StringFormatMethodAttribute
+            </summary>
+            <param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param>
+        </member>
+        <member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName">
+            <summary>
+            Gets format parameter name
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
+            <summary>
+            Indicates that the function argument should be string literal and match one  of the parameters of the caller function.
+            For example, <see cref="T:System.ArgumentNullException"/> has such parameter.
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.AssertionMethodAttribute">
+            <summary>
+            Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied. 
+            To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute"/> attribute
+            </summary>
+            <seealso cref="T:JetBrains.Annotations.AssertionConditionAttribute"/>
+        </member>
+        <member name="T:JetBrains.Annotations.AssertionConditionAttribute">
+            <summary>
+            Indicates the condition parameter of the assertion method. 
+            The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute"/> attribute.
+            The mandatory argument of the attribute is the assertion type.
+            </summary>
+            <seealso cref="T:JetBrains.Annotations.AssertionConditionType"/>
+        </member>
+        <member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)">
+            <summary>
+            Initializes new instance of AssertionConditionAttribute
+            </summary>
+            <param name="conditionType">Specifies condition type</param>
+        </member>
+        <member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType">
+            <summary>
+            Gets condition type
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.AssertionConditionType">
+            <summary>
+            Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues. 
+            Otherwise, execution is assumed to be halted
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE">
+            <summary>
+            Indicates that the marked parameter should be evaluated to true
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE">
+            <summary>
+            Indicates that the marked parameter should be evaluated to false
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL">
+            <summary>
+            Indicates that the marked parameter should be evaluated to null value
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL">
+            <summary>
+            Indicates that the marked parameter should be evaluated to not null value
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.TerminatesProgramAttribute">
+            <summary>
+            Indicates that the marked method unconditionally terminates control flow execution.
+            For example, it could unconditionally throw exception
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.CanBeNullAttribute">
+            <summary>
+            Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.NotNullAttribute">
+            <summary>
+            Indicates that the value of marked element could never be <c>null</c>
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
+            <summary>
+            Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
+            There is only exception to compare with <c>null</c>, it is permitted
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
+            <summary>
+            When applied to target attribute, specifies a requirement for any type which is marked with 
+            target attribute to implement or inherit specific type or types
+            </summary>
+            <example>
+            <code>
+            [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+            public class ComponentAttribute : Attribute 
+            {}
+            
+            [Component] // ComponentAttribute requires implementing IComponent interface
+            public class MyComponent : IComponent
+            {}
+            </code>
+            </example>
+        </member>
+        <member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type)">
+            <summary>
+            Initializes new instance of BaseTypeRequiredAttribute
+            </summary>
+            <param name="baseType">Specifies which types are required</param>
+        </member>
+        <member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes">
+            <summary>
+            Gets enumerations of specified base types
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
+            <summary>
+            Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
+            so this symbol will not be marked as unused (as well as by other usage inspections)
+            </summary>
+        </member>
+        <member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags">
+            <summary>
+            Gets value indicating what is meant to be used
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
+            <summary>
+            Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
+            </summary>
+        </member>
+        <member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags">
+            <summary>
+            Gets value indicating what is meant to be used
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
+            <summary>
+            Only entity marked with attribute considered used
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
+            <summary>
+            Indicates implicit assignment to a member
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
+            <summary>
+            Indicates implicit instantiation of a type with fixed constructor signature.
+            That means any unused constructor parameters won't be reported as such.
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
+            <summary>
+            Indicates implicit instantiation of a type
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
+            <summary>
+            Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
+            <summary>
+            Members of entity marked with attribute are considered used
+            </summary>
+        </member>
+        <member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
+            <summary>
+            Entity marked with attribute and all its members considered used
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.PublicAPIAttribute">
+            <summary>
+            This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.InstantHandleAttribute">
+            <summary>
+            Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. 
+            If the parameter is delegate, indicates that delegate is executed while the method is executed.
+            If the parameter is enumerable, indicates that it is enumerated while the method is executed.
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.PureAttribute">
+            <summary>
+            Indicates that method doesn't contain observable side effects.
+            The same as <see cref="T:System.Diagnostics.Contracts.PureAttribute"/>
+            </summary>
+        </member>
+        <member name="T:Elysium.Theme.Commands.CommandReference">
+            <summary>
+            This class facilitates associating a key binding in XAML markup to a command
+            defined in a View Model by exposing a Command dependency property.
+            The class derives from Freezable to work around a limitation in WPF when data-binding from XAML.
+            </summary>
+        </member>
+        <member name="T:Elysium.Theme.Commands.DelegateCommand">
+            <summary>
+            This class allows delegating the commanding logic to methods passed as parameters,
+            and enables a View to bind commands to objects that are not part of the element tree.
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand.#ctor(System.Action,System.Func{System.Boolean},System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand.CanExecute">
+            <summary>
+            Method to determine if the command can be executed
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand.Execute">
+            <summary>
+            Execution of the command
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand.RaiseCanExecuteChanged">
+            <summary>
+            Raises the CanExecuteChaged event
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand.OnCanExecuteChanged">
+            <summary>
+            Protected virtual method to raise CanExecuteChanged event
+            </summary>
+        </member>
+        <member name="P:Elysium.Theme.Commands.DelegateCommand.IsAutomaticRequeryDisabled">
+            <summary>
+            Property to enable or disable CommandManager's automatic requery on this command
+            </summary>
+        </member>
+        <member name="E:Elysium.Theme.Commands.DelegateCommand.CanExecuteChanged">
+            <summary>
+            ICommand.CanExecuteChanged implementation
+            </summary>
+        </member>
+        <member name="T:Elysium.Theme.Commands.DelegateCommand`1">
+            <summary>
+            This class allows delegating the commanding logic to methods passed as parameters,
+            and enables a View to bind commands to objects that are not part of the element tree.
+            </summary>
+            <typeparam name="T">Type of the parameter passed to the delegates</typeparam>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand`1.#ctor(System.Action{`0},System.Func{`0,System.Boolean},System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand`1.CanExecute(`0)">
+            <summary>
+            Method to determine if the command can be executed
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand`1.Execute(`0)">
+            <summary>
+            Execution of the command
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand`1.RaiseCanExecuteChanged">
+            <summary>
+            Raises the CanExecuteChaged event
+            </summary>
+        </member>
+        <member name="M:Elysium.Theme.Commands.DelegateCommand`1.OnCanExecuteChanged">
+            <summary>
+            Protected virtual method to raise CanExecuteChanged event
+            </summary>
+        </member>
+        <member name="P:Elysium.Theme.Commands.DelegateCommand`1.IsAutomaticRequeryDisabled">
+            <summary>
+            Property to enable or disable CommandManager's automatic requery on this command
+            </summary>
+        </member>
+        <member name="E:Elysium.Theme.Commands.DelegateCommand`1.CanExecuteChanged">
+            <summary>
+            ICommand.CanExecuteChanged implementation
+            </summary>
+        </member>
+        <member name="T:Elysium.Theme.Commands.CommandManagerHelper">
+            <summary>
+            This class contains methods for the CommandManager that help avoid memory leaks by
+            using weak references.
+            </summary>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Drawing.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Drawing.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,1770 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Expression.Drawing</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Expression.Controls.Callout">
+            <summary>
+            Renders a callout shape supporting several shapes combined with a callout arrow.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Controls.CompositeContentShape">
+             <summary>
+             Provides a base class of a composite shape that derives from <see cref="T:System.Windows.Controls.ContentControl"/> and implements <see cref="T:Microsoft.Expression.Media.IShape"/>.
+             </summary>
+             <remarks>
+             <see cref="T:Microsoft.Expression.Controls.CompositeContentShape"/> implements <see cref="T:Microsoft.Expression.Media.IShape"/> interface,
+             and supports rendering a geometry similar to <see cref="T:System.Windows.Shapes.Shape"/>, but the geometry can be rendered outside the layout boundary.
+             
+             A typical implementation has a customized default template in generic.xaml which template-binds most shape properties to a <see cref="T:System.Windows.Shapes.Path"/>.
+             It should also extend the <see cref="P:GeometrySource"/> property to customize the appearance of the <see cref="T:System.Windows.Shapes.Path"/>.
+            
+             This class also supports showing content together with the shape.
+             </remarks>
+        </member>
+        <member name="T:Microsoft.Expression.Media.IGeometrySourceParameters">
+            <summary>
+            Provides an interface to describe the parameters of a Shape.
+            </summary>
+            <remarks>
+            This interface is the data for communication between Shape and GeometrySource.
+            Typically, a concrete implementation of IShape will implement this interface and pass it into
+            GeometrySource.UpdateGeometry(), which will then consume the shape as a read-only data provider.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Expression.Media.IShape">
+            <summary>
+            Provides the necessary interface to define a Shape.
+            Both primitive and composite shapes need to match this interface, although they might derive from different types of FrameworkElement.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.IShape.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Invalidates the geometry for a <see cref="T:Microsoft.Expression.Media.IShape"/>. After the invalidation, the <see cref="T:Microsoft.Expression.Media.IShape"/> will recompute the geometry, which will occur asynchronously.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.Fill">
+            <summary>Gets or sets the <see cref="T:System.Windows.Media.Brush" /> that specifies how to paint the interior of the shape.</summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush" /> that describes how the shape's interior is painted. The default is null.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.Stroke">
+            <summary>Gets or sets the <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.StrokeThickness">
+            <summary>Gets or sets the width of the <see cref="T:System.Windows.Shapes.Shape" /> stroke outline. </summary>
+            <returns>The width of the <see cref="T:System.Windows.Shapes.Shape" /> outline, in pixels.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.Stretch">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.Stretch" /> enumeration value that describes how the shape fills its allocated space.</summary>
+            <returns>One of the <see cref="T:System.Windows.Media.Stretch" /> enumeration values. The default value at runtime depends on the type of <see cref="T:System.Windows.Shapes.Shape" />.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.RenderedGeometry">
+            <summary>
+            Gets the rendered geometry presented by the rendering engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IShape.GeometryMargin">
+            <summary>
+            Gets the margin between logical bounds and actual geometry bounds.
+            This can be either positive (as in <see cref="T:Microsoft.Expression.Shapes.Arc"/>) or negative (as in <see cref="T:Microsoft.Expression.Controls.Callout"/>).
+            </summary>
+        </member>
+        <member name="E:Microsoft.Expression.Media.IShape.RenderedGeometryChanged">
+            <summary>
+            Occurs when RenderedGeometry is changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeContentShape.CreateGeometrySource">
+            <summary>
+            Extends how the shape is drawn with creating geometry source.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeContentShape.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Invalidates the geometry for a <see cref="T:Microsoft.Expression.Media.IShape"/>. After the invalidation, the <see cref="T:Microsoft.Expression.Media.IShape"/> will recompute the geometry, which will occur asynchronously.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeContentShape.ArrangeOverride(System.Windows.Size)">
+            <summary>Provides the behavior for the Arrange portion of a Silverlight layout pass. Classes can override this method to define their own Arrange pass behavior.</summary>
+            <returns>The actual size used once the element is arranged in layout.</returns>
+            <param name="finalSize">The final area within the parent that this object should use to arrange itself and its children.</param>
+            <remarks> <see cref="T:Microsoft.Expression.Controls.CompositeContentShape"/>  will recompute the Geometry when it's invalidated and update the RenderedGeometry and GeometryMargin.</remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeContentShape.OnContentChanged(System.Object,System.Object)">
+            <summary>
+            Transforms a string content into <see cref="T:TextBlock"/> with center alignment and multiple line support.
+            </summary>
+            <remarks>
+            Use template-binding to <see cref="P:Microsoft.Expression.Controls.CompositeContentShape.InternalContent"/> instead of <see cref="P:Content"/> to enable this method.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.Fill">
+            <summary>
+            Gets or sets the <see cref="T:System.Windows.Media.Brush"/> that specifies how to paint the interior of the shape.
+            </summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush"/> that describes how the shape's interior is painted.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.Stroke">
+            <summary>Gets or sets the <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeThickness">
+            <summary>Gets or sets the width of the <see cref="T:System.Windows.Shapes.Shape" /> stroke outline. </summary>
+            <returns>The width of the <see cref="T:System.Windows.Shapes.Shape" /> outline, in pixels.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.Stretch">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.Stretch" /> enumeration value that describes how the shape fills its allocated space.</summary>
+            <returns>One of the <see cref="T:System.Windows.Media.Stretch" /> enumeration values.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeStartLineCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that describes the <see cref="T:System.Windows.Shapes.Shape" /> at the start of a <see cref="P:System.Windows.Shapes.Shape.Stroke" />. </summary>
+            <returns>A value of the <see cref="T:System.Windows.Media.PenLineCap" /> enumeration that specifies the shape at the start of a <see cref="P:System.Windows.Shapes.Shape.Stroke" />.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeEndLineCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that describes the <see cref="T:System.Windows.Shapes.Shape" /> at the end of a line. </summary>
+            <returns>One of the enumeration values for <see cref="T:System.Windows.Media.PenLineCap" />. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeLineJoin">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineJoin" /> enumeration value that specifies the type of join that is used at the vertices of a <see cref="T:System.Windows.Shapes.Shape" />.</summary>
+            <returns>A value of the <see cref="T:System.Windows.Media.PenLineJoin" /> enumeration that specifies the join appearance. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeMiterLimit">
+            <summary>Gets or sets a limit on the ratio of the miter length to half the <see cref="P:System.Windows.Shapes.Shape.StrokeThickness" /> of a <see cref="T:System.Windows.Shapes.Shape" /> element. </summary>
+            <returns>The limit on the ratio of the miter length to the <see cref="P:System.Windows.Shapes.Shape.StrokeThickness" /> of a <see cref="T:System.Windows.Shapes.Shape" /> element. This value is always a positive number that is greater than or equal to 1.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeDashArray">
+            <summary>Gets or sets a collection of <see cref="T:System.Double" /> values that indicate the pattern of dashes and gaps that is used to outline shapes. </summary>
+            <returns>A collection of <see cref="T:System.Double" /> values that specify the pattern of dashes and gaps. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeDashCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that specifies how the ends of a dash are drawn. </summary>
+            <returns>One of the enumeration values for <see cref="T:System.Windows.Media.PenLineCap" />. The default is <see cref="F:System.Windows.Media.PenLineCap.Flat" />. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.StrokeDashOffset">
+            <summary>Gets or sets a <see cref="T:System.Double" /> that specifies the distance within the dash pattern where a dash begins.</summary>
+            <returns>A <see cref="T:System.Double" /> that represents the distance within the dash pattern where a dash begins. The default value is 0.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.RenderedGeometry">
+            <summary>
+            Gets the rendered geometry presented by the rendering engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.GeometryMargin">
+            <summary>
+            Gets the margin between the logical bounds and the actual geometry bounds.
+            This can be either positive (as in <see cref="T:Microsoft.Expression.Shapes.Arc"/>) or negative (as in <see cref="T:Microsoft.Expression.Controls.Callout"/>).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeContentShape.InternalContent">
+            <summary>
+            Gets or sets the internal content that converts a string into a center-aligned, multiple-line TextBlock.
+            </summary>
+        </member>
+        <member name="E:Microsoft.Expression.Controls.CompositeContentShape.RenderedGeometryChanged">
+            <summary>
+            Occurs when RenderedGeometry is changed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.Callout.AnchorPoint">
+            <summary>
+            Gets or sets the position of the callout relative to the top and left corner.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.Callout.CalloutStyle">
+            <summary>
+            Gets or sets the callout style.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Controls.CompositeShape">
+            <summary>
+            Provides a base class of a composite shape that derives from <see cref="T:System.Windows.Controls.Control"/> and implements <see cref="T:Microsoft.Expression.Media.IShape"/>.
+            </summary>
+            <remarks>
+            <see cref="T:Microsoft.Expression.Controls.CompositeShape"/> implements <see cref="T:Microsoft.Expression.Media.IShape"/> interface,
+            and supports rendering a geometry similar to <see cref="T:System.Windows.Shapes.Shape"/>, but the geometry can be rendered outside the layout boundary.
+            
+            A typical implementation has a customized default template in generic.xaml which template-binds most shape properties to a <see cref="T:System.Windows.Shapes.Path"/>.
+            It should also extend the <see cref="P:GeometrySource"/> property to customize the appearance of the <see cref="T:System.Windows.Shapes.Path"/>.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeShape.CreateGeometrySource">
+            <summary>
+            Extends how the shape is drawn with creating geometry source.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeShape.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Invalidates the geometry for a <see cref="T:Microsoft.Expression.Media.IShape"/>. After the invalidation, the <see cref="T:Microsoft.Expression.Media.IShape"/> will recompute the geometry, which will occur asynchronously.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.CompositeShape.ArrangeOverride(System.Windows.Size)">
+            <summary>Provides the behavior for the Arrange portion of a Silverlight layout pass. Classes can override this method to define their own Arrange pass behavior.</summary>
+            <returns>The actual size used once the element is arranged in layout.</returns>
+            <param name="finalSize">The final area within the parent that this object should use to arrange itself and its children.</param>
+            <remarks> <see cref="T:Microsoft.Expression.Controls.CompositeShape"/>  will recompute the Geometry when it's invalidated and update the RenderedGeometry and GeometryMargin.</remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.Fill">
+            <summary>
+            Gets or sets the <see cref="T:System.Windows.Media.Brush"/> that specifies how to paint the interior of the shape.
+            </summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush"/> that describes how the shape's interior is painted.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.Stroke">
+            <summary>Gets or sets the <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</summary>
+            <returns>A <see cref="T:System.Windows.Media.Brush" /> that specifies how the <see cref="T:System.Windows.Shapes.Shape" /> outline is painted.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeThickness">
+            <summary>Gets or sets the width of the <see cref="T:System.Windows.Shapes.Shape" /> stroke outline. </summary>
+            <returns>The width of the <see cref="T:System.Windows.Shapes.Shape" /> outline, in pixels.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.Stretch">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.Stretch" /> enumeration value that describes how the shape fills its allocated space.</summary>
+            <returns>One of the <see cref="T:System.Windows.Media.Stretch" /> enumeration values.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeStartLineCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that describes the <see cref="T:System.Windows.Shapes.Shape" /> at the start of a <see cref="P:System.Windows.Shapes.Shape.Stroke" />. </summary>
+            <returns>A value of the <see cref="T:System.Windows.Media.PenLineCap" /> enumeration that specifies the shape at the start of a <see cref="P:System.Windows.Shapes.Shape.Stroke" />.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeEndLineCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that describes the <see cref="T:System.Windows.Shapes.Shape" /> at the end of a line. </summary>
+            <returns>One of the enumeration values for <see cref="T:System.Windows.Media.PenLineCap" />. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeLineJoin">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineJoin" /> enumeration value that specifies the type of join that is used at the vertices of a <see cref="T:System.Windows.Shapes.Shape" />.</summary>
+            <returns>A value of the <see cref="T:System.Windows.Media.PenLineJoin" /> enumeration that specifies the join appearance. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeMiterLimit">
+            <summary>Gets or sets a limit on the ratio of the miter length to half the <see cref="P:System.Windows.Shapes.Shape.StrokeThickness" /> of a <see cref="T:System.Windows.Shapes.Shape" /> element. </summary>
+            <returns>The limit on the ratio of the miter length to the <see cref="P:System.Windows.Shapes.Shape.StrokeThickness" /> of a <see cref="T:System.Windows.Shapes.Shape" /> element. This value is always a positive number that is greater than or equal to 1.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeDashArray">
+            <summary>Gets or sets a collection of <see cref="T:System.Double" /> values that indicate the pattern of dashes and gaps that is used to outline shapes. </summary>
+            <returns>A collection of <see cref="T:System.Double" /> values that specify the pattern of dashes and gaps. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeDashCap">
+            <summary>Gets or sets a <see cref="T:System.Windows.Media.PenLineCap" /> enumeration value that specifies how the ends of a dash are drawn. </summary>
+            <returns>One of the enumeration values for <see cref="T:System.Windows.Media.PenLineCap" />. The default is <see cref="F:System.Windows.Media.PenLineCap.Flat" />. </returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.StrokeDashOffset">
+            <summary>Gets or sets a <see cref="T:System.Double" /> that specifies the distance within the dash pattern where a dash begins.</summary>
+            <returns>A <see cref="T:System.Double" /> that represents the distance within the dash pattern where a dash begins. The default value is 0.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.RenderedGeometry">
+            <summary>
+            Gets the rendered geometry presented by the rendering engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.CompositeShape.GeometryMargin">
+            <summary>
+            Gets the margin between the logical bounds and the actual geometry bounds.
+            This can be either positive (as in <see cref="T:Microsoft.Expression.Shapes.Arc"/>) or negative (as in <see cref="T:Microsoft.Expression.Controls.Callout"/>).
+            </summary>
+        </member>
+        <member name="E:Microsoft.Expression.Controls.CompositeShape.RenderedGeometryChanged">
+            <summary>
+            Occurs when RenderedGeometry is changed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Controls.LineArrow">
+            <summary>
+            Renders a bent line segment with optional arrow heads on both ends.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.LineArrow.MeasureOverride(System.Windows.Size)">
+            <summary>Provides the behavior for the Measure pass of Silverlight layout. Classes can override this method to define their own Measure pass behavior.</summary>
+            <returns>The size that this object determines it requires during layout, based on its calculations of child object allotted sizes, or possibly on other considerations such as fixed container size.</returns>
+            <param name="availableSize">The available size that this object can give to child objects. Infinity (<see cref="F:System.Double.PositiveInfinity" />) can be specified as a value to indicate that the object will size to whatever content is available.</param>
+            <remarks>
+            A default <see cref="T:LineArrow"/> can render at anysize.
+            The <see cref="P:RenderedGeometry"/> will stretch to the layout boundary and render to the outside if necessary.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.LineArrow.BendAmount">
+            <summary>
+            Gets or sets the amount of bend for the arrow.
+            </summary>
+            <value>The bend amount between 0 and 1.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.LineArrow.StartArrow">
+            <summary>
+            Gets or sets how the arrow head is rendered at the start of the line.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.LineArrow.EndArrow">
+            <summary>
+            Gets or sets how the arrow head is rendered at the end of the line.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.LineArrow.StartCorner">
+            <summary>
+            Gets or sets from which corner to start drawing the arrow.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.LineArrow.ArrowSize">
+            <summary>
+            Gets or sets the length of the arrow in pixels.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Controls.PanningItems">
+            <summary>
+            Provides an items control that displays one selected item, and allows panning between items using touch gestures.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.PanningItems.#ctor">
+            <summary>
+            The constructor for PanningItems.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Controls.PanningItems.OnApplyTemplate">
+            <summary>
+            Called when the PanningItems template is applied.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.ScrollDirection">
+            <summary>
+            Gets or sets the orientation of items in the control.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.FlickTolerance">
+            <summary>
+            Gets or sets the flick tolerance.  This can be a value between 0 and 1.  
+            It represents the percentage of the size of the PanningItems needed to be covered by the flick gesture to trigger an items change.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.PreviousItem">
+            <summary>
+            Gets or sets the item before the selected item.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.NextItem">
+            <summary>
+            Gets or sets the item after the selected item.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.LoopContents">
+            <summary>
+            Gets or sets whether the contents of the items control will loop, so that the first item will follow the last item.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Controls.PanningItems.SliderValue">
+            <summary>
+            Gets or sets the value of the slider controlling the panning motion.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PathGeometryHelper">
+            <summary>
+            Helper class to work with PathGeometry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathGeometryHelper.ConvertToPathGeometry(System.String)">
+            <summary>
+            Converts a string in the path mini-language into a PathGeometry.
+            </summary>
+            <param name="abbreviatedGeometry">A string in the path mini-language.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathGeometryHelper.AsPathGeometry(System.Windows.Media.Geometry)">
+            <summary>
+            Converts the given geometry into a single PathGeometry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathGeometryHelper.SyncPolylineGeometry(System.Windows.Media.Geometry@,System.Collections.Generic.IList{System.Windows.Point},System.Boolean)">
+            <summary>
+            Updates the given geometry as PathGeometry with a polyline matching a given point list.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PathGeometryHelper.AbbreviatedGeometryParser">
+            <summary>
+            Parses abbreviated geometry sytax.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PathSegmentHelper">
+            <summary>
+            Helper class to convert an ArcSegment to BezierSegment(s).
+            </summary>
+            <summary>
+            Helper class to work with PathSegment and all variations.
+            </summary>
+            <summary>
+            Strategy classes to handle different types of PathSegment.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.ArcToBezierSegments(System.Windows.Media.ArcSegment,System.Windows.Point)">
+            <summary>
+            Converts an arc segment into Bezier format.
+            Returns BezierSegment, PolyBezierSegment, LineSegment, or null.
+            When returning null, the arc degenerates into the start point.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.SetIsStroked(System.Windows.Media.PathSegment,System.Boolean)">
+            <summary>
+            Avoid calling the three-parameter constructor, since it always sets a local value for IsStroked.
+            </summary>
+            <param name="segment"></param>
+            <param name="isStroked"></param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.SyncPolylineSegment(System.Windows.Media.PathSegmentCollection,System.Int32,System.Collections.Generic.IList{System.Windows.Point},System.Int32,System.Int32)">
+            <summary>
+            Updates the SegmentCollection with a given polyline matching a given point list.
+            Tries to keep changes minimum and returns false if nothing has been changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.SyncPolyBezierSegment(System.Windows.Media.PathSegmentCollection,System.Int32,System.Collections.Generic.IList{System.Windows.Point},System.Int32,System.Int32)">
+            <summary>
+            Updates the collection[index] segment with a poly-Bezier segment matching a given point list.
+            A given point list must contain 3*N points for N Bezier segments.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.IsEmpty(System.Windows.Media.PathSegment)">
+            <summary>
+            Tests if a given path segment is empty.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.GetPointCount(System.Windows.Media.PathSegment)">
+            <summary>
+            Gets the point count in a given path segment.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.GetLastPoint(System.Windows.Media.PathSegment)">
+            <summary>
+            Gets the last point of a given path segment.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.GetPoint(System.Windows.Media.PathSegment,System.Int32)">
+            <summary>
+            Gets the point of a given index in a given segment.
+            If input is (-1), returns the last point.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.FlattenSegment(System.Windows.Media.PathSegment,System.Collections.Generic.IList{System.Windows.Point},System.Windows.Point,System.Double)">
+            <summary>
+            Flattens a given segment and adds resulting points into a given point list.
+            </summary>
+            <param name="segment">The segment to be flatten.</param>
+            <param name="points">The resulting points list.</param>
+            <param name="start">The start point of the segment.</param>
+            <param name="tolerance">The error tolerance. Must be positive. Can be zero. Fallback to default tolerance.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.ArcToBezierHelper.ArcToBezier(System.Double,System.Double,System.Double,System.Double,System.Double,System.Boolean,System.Boolean,System.Double,System.Double,System.Windows.Point[]@,System.Int32@)">
+            <summary>
+            ArcToBezier, computes the Bezier approximation of an arc.
+            </summary>
+            <remarks>
+            This utility computes the Bezier approximation for an elliptical arc as
+            it is defined in the SVG arc spec. The ellipse from which the arc is
+            carved is axis-aligned in its own coordinates, and defined there by its
+            x and y radii. The rotation angle defines how the ellipse's axes are
+            rotated relative to the x axis. The start and end points define one of 4
+            possible arcs; the sweep and large-arc flags determine which one of
+            these arcs will be chosen.
+            
+            Returning cPieces = 0 indicates a line instead of an arc
+                      cPieces = -1 indicates that the arc degenerates to a point 
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.ArcToBezierHelper.GetArcAngle(System.Windows.Point,System.Windows.Point,System.Boolean,System.Boolean,System.Double@,System.Double@,System.Int32@)">
+            <summary>
+            Gets the number of Bezier arcs, and sine/cosine of each.
+            </summary>
+            <remarks>
+            This is a private utility used by ArcToBezier. Breaks the arc into
+            pieces so that no piece will span more than 90 degrees. The input
+            points are on the unit circle.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.ArcToBezierHelper.GetBezierDistance(System.Double,System.Double)">
+             <summary>
+             GetBezierDistance returns the distance as a fraction of the radius.
+             </summary>
+            <remarks>
+                  Get the distance from a circular arc's end points to the control points
+                  of the Bezier arc that approximates it, as a fraction of the arc's
+                  radius.
+            
+                  Since the result is relative to the arc's radius, it depends strictly on
+                  the arc's angle. The arc is assumed to be of 90 degrees or less, so the
+                  angle is determined by the cosine of that angle, which is derived from
+                  rDot = the dot product of two radius vectors. We need the Bezier curve
+                  that agrees with the arc's points and tangents at the ends and midpoint. 
+                  Here we compute the distance from the curve's endpoints to its control
+                  points.
+            
+                  Since we are looking for the relative distance, we can work on the unit
+                  circle. Place the center of the circle at the origin, and put the X axis
+                  as the bisector between the 2 vectors.  Let a be the angle between the
+                  vectors.  Then the X coordinates of the 1st and last points are cos(a/2). 
+                  Let x be the X coordinate of the 2nd and 3rd points.  At t=1/2 we have a
+                  point at (1,0). But the terms of the polynomial there are all equal:
+            
+                            (1-t)^3 = t*(1-t)^2 = t^2*(1-t) = t^3 = 1/8,
+            
+                  so from the Bezier formula there we have:
+            
+                            1 = (1/8) * (cos(a/2) + 3x + 3x + cos(a/2)), 
+            
+                  hence
+            
+                            x = (4 - cos(a/2)) / 3
+            
+                  The X difference between that and the 1st point is:
+                  
+                            DX = x - cos(a/2) = 4(1 - cos(a/2)) / 3.
+            
+                  But DX = distance / sin(a/2), hence the distance is
+            
+                            dist = (4/3)*(1 - cos(a/2)) / sin(a/2).
+            
+                  Rather than the angle a, we are given rDot = R^2 * cos(a), so we
+                  multiply top and bottom by R:
+             
+                            dist = (4/3)*(R - Rcos(a/2)) / Rsin(a/2)
+             
+                  and use some trig:
+                                           ________________
+                            cos(a/2)   = \/(1 + cos(a)) / 2
+                                           ______________________
+                            R*cos(a/2) = \/(R^2 + R^2 cos(a)) / 2 
+                                           ________________
+                                       = \/(R^2 + rDot) / 2
+            
+                  Let A = (R^2 + rDot)/2.
+                                           ____________________
+                            R*sin(a/2) = \/R^2 - R^2 cos^2(a/2)
+                                           _______
+                                       = \/R^2 - A
+            
+                  so:
+                                                      _
+                                         4      R - \/A
+                                  dist = - * ------------
+                                         3      _______
+                                              \/R^2 - A
+            
+              History:
+                  5/29/2001 MichKa
+                      Created it.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathSegmentHelper.ArcToBezierHelper.AcceptRadius(System.Double,System.Double,System.Double@)">
+            <summary>
+            Returns false if the radius is too small compared to the chord length (returns true on NaNs)
+            radius is modified to the value that is accepted.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.BezierCurveFlattener">
+            <summary>
+            A utility class to flatten Bezier curves.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.BezierCurveFlattener.FlattenCubic(System.Windows.Point[],System.Double,System.Collections.Generic.ICollection{System.Windows.Point},System.Boolean,System.Collections.Generic.ICollection{System.Double})">
+            <summary>
+            Flattens a Bezier cubic curve and adds the resulting polyline to the third parameter.
+            </summary>
+            <param name="controlPoints">The four Bezier cubic control points.</param>
+            <param name="errorTolerance">The maximum distance between two corresponding points on the true curve 
+            and on the flattened polyline. Must be strictly positive.</param>
+            <param name="resultPolyline">Where to add the flattened polyline.</param>
+            <param name="skipFirstPoint">True to skip the first control point when adding the flattened polyline.
+            <param name="resultParameters">Where to add the value of the Bezier curve parameter associated with 
+            each of the polyline vertices.</param> 
+            If <paramref name="resultPolyline"/> is empty, the first control point 
+            and its associated parameter are always added.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.BezierCurveFlattener.FlattenQuadratic(System.Windows.Point[],System.Double,System.Collections.Generic.ICollection{System.Windows.Point},System.Boolean,System.Collections.Generic.ICollection{System.Double})">
+            <summary>
+            Flattens a Bezier quadratic curve and adds the resulting polyline to the third parameter.
+            Uses degree elevation for Bezier curves to reuse the code for the cubic case.
+            </summary>
+            <param name="controlPoints">The three Bezier quadratic control points.</param>
+            <param name="errorTolerance">The maximum distance between two corresponding points on the true curve 
+            and on the flattened polyline. Must be strictly positive.</param>
+            <param name="resultPolyline">Where to add the flattened polyline.</param>
+            <param name="skipFirstPoint">Whether to skip the first control point when adding the flattened polyline. 
+            <param name="resultParameters">Where to add the value of the Bezier curve parameter associated with
+            each of the polyline vertices.</param>
+            If <paramref name="resultPolyline"/> is empty, the first control point and 
+            its associated parameter are always added.</param>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.CommonExtensions">
+            <summary>
+            Extension methods that support non-geometry types.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.ForEach(System.Collections.IEnumerable,System.Action{System.Object})">
+            <summary>
+            Allows the application of an action delegate (often a very simple lambda) against an entire sequence.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
+            <summary>
+            Allows the application of an action delegate (often a very simple lambda) against an entire sequence.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.ForEach``1(System.Collections.Generic.IList{``0},System.Action{``0,System.Int32})">
+            <summary>
+            Allows the application of an action delegate (often a very simple lambda) against an entire sequence with the index of each item.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.EnsureListCount``1(System.Collections.Generic.IList{``0},System.Int32,System.Func{``0})">
+            <summary>
+            Ensures the count of a list to a given count. Creates with a given factory or removes items when necessary.
+            If Input IList is a List, AddRange or RemoveRange is used when there's no factory.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.EnsureListCountAtLeast``1(System.Collections.Generic.IList{``0},System.Int32,System.Func{``0})">
+            <summary>
+            Ensures the count of a list is at least the given count. Creates with a given factory.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.AddRange``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Add a range of items to the end of a collection.
+            If a collection is a list, List.AddRange is used.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.Last``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Gets the last item of a given list.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.RemoveLast``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Removes the last item from the given list.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.DeepCopy``1(``0)">
+            <summary>
+            Makes a copy of obj and all it's public properties, including all collection properties.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.SetIfDifferent(System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Object)">
+            <summary>
+            Sets the value if different. Avoids setting a local value if possible.
+            Returns true when the value has been changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.ClearIfSet(System.Windows.DependencyObject,System.Windows.DependencyProperty)">
+            <summary>
+            Clears the dependency property when it is locally set on the given dependency object.
+            Returns false if the dependeny property is not locally set.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.FindVisualDesendent``1(System.Windows.DependencyObject,System.Func{``0,System.Boolean})">
+            <summary>
+            Finds all visual descendants of a given type and condition using breadth-first search.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.CommonExtensions.GetVisualChildren(System.Windows.DependencyObject)">
+            <summary>
+            Gets all visual children in IEnumerable.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.DrawingPropertyMetadata">
+            <summary>
+            Unifies the interface of PropertyMetadata in WPF and Silverlight.
+            Provides the necessary notification about render, arrange, or measure.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.DrawingPropertyMetadata.#ctor(Microsoft.Expression.Media.DrawingPropertyMetadataOptions,System.Object)">
+            <summary>
+            This private Ctor should only be used by AttachCallback.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.DrawingPropertyMetadata.AttachCallback(System.Object,Microsoft.Expression.Media.DrawingPropertyMetadataOptions,System.Windows.PropertyChangedCallback)">
+            <summary>
+            Chain InternalCallback() to attach the instance of DrawingPropertyMetadata on property callback.
+            In Silverlight, the property metadata is thrown away after setting. Use callback to remember it.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.DrawingPropertyMetadata.InternalCallback(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Before chaining the original callback, trigger DrawingPropertyChangedEvent.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.GeometryHelper">
+            <summary>
+            Extension methods for geometry-related data structures (Point/Vector/Size/Rect).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Resize(System.Windows.Rect,System.Double)">
+            <summary>
+            Resizes the rectangle to a relative size while keeping the center invariant.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Subtract(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Gets the difference vector between two points.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Plus(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Memberwise plus for Point.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Minus(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Memberwise minus for Point.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.ConvertToPathGeometry(System.String)">
+            <summary>
+            Converts a string of mini-languages to a <see cref="T:PathGeometry"/>.
+            </summary>
+            <remarks>See: Path Markup Syntax(http://msdn.microsoft.com/en-us/library/cc189041(VS.95).aspx)</remarks>
+            <param name="abbreviatedGeometry">The string of path mini-languages for describing geometric paths.</param>
+            <returns>A <see cref="T:PathGeometry"/> converted from the the path mini-languages.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.FlattenFigure(System.Windows.Media.PathFigure,System.Collections.Generic.IList{System.Windows.Point},System.Double)">
+            <summary>
+            Flattens a <see cref="T:PathFigure"/> and adds result points to a given <paramref name="points"/>.
+            </summary>
+            <param name="figure">The input <see cref="T:PathFigure"/>.</param>
+            <param name="points">The point list to which result points will append.</param>
+            <param name="tolerance">A positive number specifying the maximum allowed error from the result points to the input path figure. A Value of zero allows the algorithm to pick the tolerance automatically.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GetArcPoint(System.Double)">
+            <summary>
+            Gets the normalized arc in a (0,0)(1,1) box.
+            Zero degrees is mapped to [0.5, 0] (up), and clockwise.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GetArcPoint(System.Double,System.Windows.Rect)">
+            <summary>
+            Gets the absolute arc point in a given bound with a given relative radius.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GetArcAngle(System.Windows.Point)">
+            <summary>
+            Gets the angle on an arc relative to a (0,0)(1,1) box.
+            Zero degrees is mapped to [0.5, 0] (up), and clockwise.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GetArcAngle(System.Windows.Point,System.Windows.Rect)">
+            <summary>
+            Gets the angle on an arc from a given absolute point relative to a bound.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.RelativeTransform(System.Windows.Rect,System.Windows.Rect)">
+            <summary>
+            Computes the transform that moves "Rect from" to "Rect to".
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.RelativeTransform(System.Windows.UIElement,System.Windows.UIElement)">
+            <summary>
+            Computes the transform from the coordinate space of one <c>UIElement</c> to another.
+            </summary>
+            <param name="from">The source element.</param>
+            <param name="to">The destination element.</param>
+            <returns>The transform between the <c>UIElement</c>s, or null if it cannot be computed.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.RelativeToAbsolutePoint(System.Windows.Rect,System.Windows.Point)">
+            <summary>
+            Maps a relative point to an absolute point using the mapping from a given bound to a (0,0)(1,1) box.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.AbsoluteToRelativePoint(System.Windows.Rect,System.Windows.Point)">
+            <summary>
+            Maps an absolute point to a relative point using the mapping from a (0,0)(1,1) box to a given bound.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GetStretchBound(System.Windows.Rect,System.Windows.Media.Stretch,System.Windows.Size)">
+            <summary>
+            Computes the bound after stretching within a given logical bound.
+            If stretch to uniform, use given aspectRatio.
+            If aspectRatio is empty, it's equivalent to Fill.
+            If stretch is None, it's equivalent to Fill or Uniform.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Midpoint(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Returns the mid point of two points.
+            </summary>
+            <param name="lhs">The first point.</param>
+            <param name="rhs">The second point.</param>
+            <returns>The mid point between <paramref name="lhs"/> and <paramref name="rhs"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Dot(System.Windows.Vector,System.Windows.Vector)">
+            <summary>
+            Returns the dot product of two vectors.
+            </summary>
+            <param name="lhs">The first vector.</param>
+            <param name="rhs">The second vector.</param>
+            <returns>The dot product of <paramref name="lhs"/> and <paramref name="rhs"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Dot(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Returns the dot product of two points.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Distance(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Returns the distance between two points.
+            </summary>
+            <param name="lhs">The first point.</param>
+            <param name="rhs">The second point.</param>
+            <returns>The distance between <paramref name="lhs"/> and <paramref name="rhs"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.SquaredDistance(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Returns the square of the distance between two points.
+            </summary>
+            <param name="lhs">The first point.</param>
+            <param name="rhs">The second point.</param>
+            <returns>The square of the distance between <paramref name="lhs"/> and <paramref name="rhs"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Determinant(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Determinant of the cross product. Equivalent to directional area.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Normal(System.Windows.Point,System.Windows.Point)">
+            <summary>
+            Computes the normal direction vector of given line segments.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.Perpendicular(System.Windows.Vector)">
+            <summary>
+            Computes the perpendicular vector, 90-degrees, counter-clockwise.
+            Vector to the right perpendicular results in a vector to up.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.GeometryEquals(System.Windows.Media.Geometry,System.Windows.Media.Geometry)">
+            <summary>
+            Returns whether the two geometries are identical.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.EnsureGeometryType``1(``0@,System.Windows.Media.Geometry@,System.Func{``0})">
+            <summary>
+            Ensures the value is an instance of result type (T). If not, replace with a new instance of type (T).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.GeometryHelper.EnsureSegmentType``1(``0@,System.Collections.Generic.IList{System.Windows.Media.PathSegment},System.Int32,System.Func{``0})">
+            <summary>
+            Ensures the list[index] is an instance of result type (T). If not, replace with a new instance of type (T).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.MathHelper">
+            <summary>
+            Helper class that provides static properties and methods related to floating point arithmetic.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Drawing.Core.MathHelper.Epsilon">
+            <summary>
+            The minimum distance to consider that two values are same.
+            Note: internal floating point in MIL/SL is float, not double.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Drawing.Core.MathHelper.TwoPI">
+            <summary>
+            The value of the angle of a full circle.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Drawing.Core.MathHelper.PentagramInnerRadius">
+            <summary>
+            The inner radius for a pentagram polygon shape, at precision of three digits in percentage.
+            (1 - Sin36 * Sin72 / Sin54) / (Cos36) ^ 2, which is 0.47210998990512996761913067272407
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MathHelper.IsVerySmall(System.Double)">
+            <summary>
+            Determines whether a <c>System.Double</c> value is small enough to be considered
+            equivalent to zero.
+            </summary>
+            <param name="value"></param>
+            <returns><c>True</c> if value is smaller than <c>DoubleTolerance</c>;
+            otherwise, <c>False</c>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MathHelper.EnsureRange(System.Double,System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>
+            Returns the value that's within the given range.
+            A given min/max that is null equals no limit.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MathHelper.Hypotenuse(System.Double,System.Double)">
+            <summary>
+            Computes the Euclidean norm of the vector (x, y).
+            </summary>
+            <param name="x">The first component.</param>
+            <param name="y">The second component.</param>
+            <returns>The Euclidean norm of the vector (x, y).</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MathHelper.DoubleFromMantissaAndExponent(System.Double,System.Int32)">
+            <summary>
+            Computes a real number from the mantissa and exponent.
+            </summary>
+            <param name="x"></param>
+            <param name="exp"></param>
+            <returns>The value of x * 2^exp if successful.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MathHelper.IsFiniteDouble(System.Double)">
+            <summary>
+            Tests a double.
+            </summary>
+            <param name="x">The double to test.</param>
+            <returns><c>True</c> if x is not a NaN and is not equal to plus or minus infinity;
+            otherwise, <c>False</c>.</returns>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PathFigureHelper">
+            <summary>
+            Helper class to work with PathFigure.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathFigureHelper.FlattenFigure(System.Windows.Media.PathFigure,System.Collections.Generic.IList{System.Windows.Point},System.Double,System.Boolean)">
+            <summary>
+            Flattens the given figure and adds result points to the given point list.
+            </summary>
+            <param name="tolerance">The error tolerance. Must be positive. Can be zero. Fallback to default tolerance.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathFigureHelper.AllSegments(System.Windows.Media.PathFigure)">
+            <summary>
+            Iterates all segments inside a given figure, and returns the correct start point for each segment.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathFigureHelper.SyncPolylineFigure(System.Windows.Media.PathFigure,System.Collections.Generic.IList{System.Windows.Point},System.Boolean,System.Boolean)">
+            <summary>
+            Synchronizes the figure to the given list of points as a single polyline segment.
+            Tries to keep the change to a minimum and returns false if nothing has been changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PathFigureHelper.SyncEllipseFigure(System.Windows.Media.PathFigure,System.Windows.Rect,System.Windows.Media.SweepDirection,System.Boolean)">
+            <summary>
+            Synchronizes the given figure to be a closed ellipse with two arc segments.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PathSegmentData">
+            <summary>
+            A Tuple data structure for PathSegment and the corresponding StartPoint.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PolylineData">
+            <summary>
+            Represents a polyline with a list of connecting points.
+            A closed polygon is represented by repeating the first point at the end.
+            The differences, normals, angles, and lengths are computed on demand.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PolylineData.#ctor(System.Collections.Generic.IList{System.Windows.Point})">
+            <summary>
+            Constructs a polyline with two or more points.
+            </summary>
+            <param name="points"></param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PolylineData.Difference(System.Int32)">
+            The forward difference vector of polyline.
+            Points[i] + Differences[i] = Points[i+1]
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PolylineData.SmoothNormal(System.Int32,System.Double,System.Double)">
+            <summary>
+            Compute the normal vector of given location (lerp(index, index+1, fraction).
+            If the location is within range of cornerRadius, interpolate the normal direction.
+            </summary>
+            <param name="cornerRadius">The range of normal smoothless.  If zero, no smoothness and return the exact normal on index.</param>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.IsClosed">
+            <summary>
+            The polyline is closed when the first and last points are repeated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.Count">
+            <summary>
+            The count of points in this polyline.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.TotalLength">
+            <summary>
+            The total arc length of this polyline.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.Points">
+            <summary>
+            The point array of this polyline.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.Lengths">
+            <summary>
+            The length between line segments, Points[i] to Points[i+1].
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.Normals">
+            <summary>
+            The list of normal vectors for each segment.
+            Normals[i] is the normal of segment p[i] to p[i + 1].
+            Normals[N-1] == Normals[N-2].
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.Angles">
+            <summary>
+            The list of Cos(angle) between two line segments on point p[i].
+            Note: The value is cos(angle) = Dot(u, v). Not in degrees.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.PolylineData.AccumulatedLength">
+            <summary>
+            The list of accumulated length from points[i] to points[0].
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.MarchLocation">
+            <summary>
+            The data structure to communicate with the PathMarch algorithm.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MarchLocation.GetPoint(System.Collections.Generic.IList{System.Windows.Point})">
+            <summary>
+            Gets the interpolated position of this MarchLocation on a given point list.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MarchLocation.GetNormal(Microsoft.Expression.Drawing.Core.PolylineData,System.Double)">
+            <summary>
+            Get the interpolated normal direction of this MarchLocation on a given normal vector list.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.MarchLocation.GetArcLength(System.Collections.Generic.IList{System.Double})">
+            <summary>
+            Gets the arc length of this MarchLocation to the start of the entire polyline.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.Reason">
+            <summary>
+            The reason why this location is sampled.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.Index">
+            <summary>
+            The index of the point on a polyline point list.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.Ratio">
+            <summary>
+            Ratio: [0, 1], which is always before / (before + after).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.Before">
+            <summary>
+            Arc length before a stop point. Non-negative and less than Length[index].
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.After">
+            <summary>
+            Arc length after the stop point. Non-negative and less than Length[index].
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.MarchLocation.Remain">
+            <summary>
+            Remaining length within a step to hit next stop. Positive to go forward. Negative to go backward.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.PolylineHelper">
+            <summary>
+            Helper class to work with list of points
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PolylineHelper.PathMarch(Microsoft.Expression.Drawing.Core.PolylineData,System.Double,System.Double,System.Func{Microsoft.Expression.Drawing.Core.MarchLocation,System.Double})">
+            <summary>
+            March the given polyline with a given interval and output each stop through callback.
+            </summary>
+            <param name="polyline">The polyline points to march on.</param>
+            <param name="startArcLength">The arc length to march before stopping at the first point.</param>
+            <param name="cornerThreshold">The max angle between edges to be considered a corner vertex.</param>
+            <param name="stopCallback">Callback when marching algorithm stop at a point. The callback returns the arc length for next stop.
+            If the asked length is negative, march backwards. If callback returns NaN, finish marching.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.PolylineHelper.GetWrappedPolylines(System.Collections.Generic.IList{Microsoft.Expression.Drawing.Core.PolylineData},System.Double@)">
+            <summary>
+            Reorders the given list of polylines so that the polyline with a given arc length in the list is the first.
+            Polylines that preceded this line are concatenated to the end of the list, with the first polyline at the very end. 
+            </summary>
+            <param name="lines">A list of polylines.</param>
+            <param name="startArcLength">The arc length in the entire list of polylines at which to find the start line.
+            The arc length into that line is returned in this variable.</param>
+            <returns>The reordered and wrapped list.</returns>
+        </member>
+        <member name="T:Microsoft.Expression.Drawing.Core.RandomEngine">
+            <summary>
+            A random generator that supports uniform and Gaussian distributions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.RandomEngine.Gaussian">
+            <summary>
+            Generates a pair of independent, standard, normally distributed random numbers,
+            zero expectation, unit variance, using polar form of the Box-Muller transformation.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.SimpleSegment.#ctor">
+            <summary>
+            Private constructor. Force to use factory methods.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.SimpleSegment.Create(System.Windows.Point,System.Windows.Point)">
+            <summary>
+             Creates a line segment
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.SimpleSegment.Create(System.Windows.Point,System.Windows.Point,System.Windows.Point)">
+            <summary>
+             Creates a cubic bezier segment from quatratic curve (3 control points)
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.SimpleSegment.Create(System.Windows.Point,System.Windows.Point,System.Windows.Point,System.Windows.Point)">
+            <summary>
+             Creates a cubic bezier segment with 4 control points.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Drawing.Core.SimpleSegment.Points">
+            <summary>
+            Control points of path segment.  Length is variant.
+            Line segment has 2 points, Cubic bezier has 4 points.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Drawing.Core.TransformExtensions.TransformEquals(System.Windows.Media.Transform,System.Windows.Media.Transform)">
+            <summary>
+            Compares two transforms for an exact match. Transforms with the same value but different structure (e.g. Translate(0,0) and Rotate(0) are not considered equivalent).
+            </summary>
+            <param name="firstTransform">The first transform.</param>
+            <param name="secondTransform">The second transform.</param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Expression.Media.UnitType">
+            <summary>
+            Specifies the unit of thickness.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.UnitType.Pixel">
+            <summary>
+            Unit in pixels.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.UnitType.Percent">
+            <summary>
+            Unit in percentage relative to the bounding box.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.GeometrySource`1">
+            <summary>
+            Provides the base class of a source of geometry.
+            Generates and caches the geometry based on the input parameters and the layout bounds.
+            </summary>
+            <remarks>
+            A typical implementation will extend the UpdateCachedGeometry() to update this.cachedGeometry.
+            This base class will then handle the invalidation, pipeline to the geometry effects, and then cache relative to the layout bounds.
+            An implementation should try to reuse the cached geometry as much as possible to avoid reconstruction in the rendering thread.
+            An implementation can extend the ComputeLogicalBounds to handle Stretch differently.
+            </remarks>
+            <typeparam name="TParameters">The type of geometry source parameter on which the base class is working on.</typeparam>
+        </member>
+        <member name="T:Microsoft.Expression.Media.IGeometrySource">
+            <summary>
+            Provides an interface to describe the source of a geometry.
+            </summary>
+            <remarks>
+            This interface is designed to expose the geometry source in a non-generic way.
+            Typical implementation should subclass GeometrySource instead of implementing this interface directly.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Media.IGeometrySource.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Notifies that the geometry has been invalidated because of external changes.
+            </summary>
+            <remarks>
+            Geometry is typically invalidated when parameters are changed.
+            If any geometry has been invalidated externally, the geometry will be recomputed even if the layout bounds change.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Media.IGeometrySource.UpdateGeometry(Microsoft.Expression.Media.IGeometrySourceParameters,System.Windows.Rect)">
+            <summary>
+            Update the geometry using the given parameters and the layout bounds.
+            Returns false if nothing has been updated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IGeometrySource.Geometry">
+            <summary>
+            Gets or sets the resulting geometry after the latest UpdateGeometry().
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IGeometrySource.LogicalBounds">
+            <summary>
+            Gets the bounding box where the geometry should stretch to.
+            The actual geometry might be smaller or larger than this.
+            <see cref="P:Microsoft.Expression.Media.IGeometrySource.LogicalBounds"/> should already take stroke thickness and stretch into consideration.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.IGeometrySource.LayoutBounds">
+            <summary>
+            Gets the actual bounds of FrameworkElement.
+            <see cref="P:Microsoft.Expression.Media.IGeometrySource.LayoutBounds"/> includes logical bounds, stretch, and stroke thickness.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.GeometrySource`1.cachedGeometry">
+            <summary>
+            Specifics the geometry from the previous geometry effect process.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometrySource`1.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Notifies that the geometry has been invalidated because of external changes.
+            </summary>
+            <remarks>
+            The geometry is typically invalidated when parameters are changed.
+            If any geometry has been invalidated externally, the geometry will be recomputed regardless if the layout bounds change.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometrySource`1.UpdateGeometry(Microsoft.Expression.Media.IGeometrySourceParameters,System.Windows.Rect)">
+            <summary>
+            Update the geometry based on the given parameters and layoutBounds.
+            Returns false if the geometry hasn't been changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometrySource`1.UpdateCachedGeometry(`0)">
+            <summary>
+            Extends the way to provide geometry by implementing this function.
+            Returns true when any of the geometry is changed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometrySource`1.ComputeLogicalBounds(System.Windows.Rect,Microsoft.Expression.Media.IGeometrySourceParameters)">
+            <summary>
+            Extends the way to handle stretch mode.
+            The default is to always use Stretch.Fill and center stroke.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometrySource`1.ApplyGeometryEffect(Microsoft.Expression.Media.IGeometrySourceParameters,System.Boolean)">
+            <summary>
+            Apply the geometry effect when dirty or forced and update this.Geometry.
+            Otherwise, keep this.Geometry as this.cachedGeometry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometrySource`1.Geometry">
+            <summary>
+            Gets or sets the resulting geometry after the latest UpdateGeometry().
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometrySource`1.LogicalBounds">
+            <summary>
+            Gets the bounding box that the geometry should stretch to.
+            The actual geometry might be smaller or larger than this.
+            <see cref="P:Microsoft.Expression.Media.GeometrySource`1.LogicalBounds"/> should already take stroke thickness and stretch into consideration.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometrySource`1.LayoutBounds">
+            <summary>
+            Gets the actual bounds of FrameworkElement.
+            <see cref="P:Microsoft.Expression.Media.GeometrySource`1.LayoutBounds"/> includes logical bounds, stretch and stroke thickness.
+            </summary>
+            <value></value>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.ComputeLogicalBounds(System.Windows.Rect,Microsoft.Expression.Media.IGeometrySourceParameters)">
+            <summary>
+            Arc recognizes Stretch.None as the same as Stretch.Fill, assuming aspect ratio = 1:1.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.NormalizeThickness(Microsoft.Expression.Media.IArcGeometrySourceParameters)">
+            <summary>
+            Normalize thickness, both relative to the bounding box and the absolute pixel.
+            Relative thickness = 0 -> full circle radius or clamped.
+            Relative thickness = 1 -> shrank to a dot, or degenerated.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.UpdateZeroAngleGeometry(System.Boolean,System.Double)">
+            <summary>
+            The arc is degenerated to a line pointing to center / normal inward.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.ComputeAngleRanges(System.Double,System.Double,System.Double,System.Double,System.Double)">
+            <summary>
+            Compute a list of angle pairs, defining the ranges in which arc sample should locate.
+            The return value have 2, 4, or 6 double values, each pair defines a range and they are in the order
+            to span the angles from given start to end angles.  The ranges will break at the self-intersect angle.
+            If input start/end are within the invalid range between self intersect angle, it will be moved to neighboring self intersect.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.EnsureFirstQuadrant(System.Double)">
+            <summary>
+            Move angle to 0-90 range.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.SyncPieceWiseInnerCurves(System.Windows.Media.PathFigure,System.Int32,System.Windows.Point@,System.Double[])">
+            <summary>
+            Compute all pieces of inner curves with each pair of input angles, and connect them with poly Bezier segments.
+            The new segments are output to given figure.Segments list from the given index.  The start point is output seperately.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.ComputeOneInnerCurve(System.Double,System.Double,System.Windows.Rect,System.Double)">
+            <summary>
+            Compute one piece of inner curve with given angle range, and output one piece of smooth curve in format of poly Beizer semgents.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.ArcGeometrySource.InnerCurveSelfIntersect(System.Double,System.Double,System.Double)">
+            <summary>
+            Compute the parameter (angle) of the self-intersect point for given ellipse with given thickness.
+            The result is always in first quadrant, and might be 0 or 90 indicating no self-intersect.
+            Basic algorithm is to binary search for the angle that sample point is not in first quadrant.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.ArrowOrientation">
+            <summary>
+            Specifies the direction the arrow points.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowOrientation.Left">
+            <summary>
+            The arrow points to the left.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowOrientation.Right">
+            <summary>
+            The arrow points to the right.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowOrientation.Up">
+            <summary>
+            The arrow points up.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowOrientation.Down">
+            <summary>
+            The arrow points down.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.BlockArrowGeometrySource.ArrowBuilder">
+            <summary>
+                 B
+                /|
+               / C--D
+              A     |
+               \ C--D
+                \|
+                 B
+            Algorithm only uses Width/Height assuming top-left at 0,0.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.CalloutStyle">
+            <summary>
+            Specifies the rendering style of a callout shape.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CalloutStyle.Rectangle">
+            <summary>
+            A rectangular callout.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CalloutStyle.RoundedRectangle">
+            <summary>
+            A rectangular callout with rounded corners.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CalloutStyle.Oval">
+            <summary>
+            A oval-shaped callout.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CalloutStyle.Cloud">
+            <summary>
+            A cloud-shaped callout.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.CalloutGeometrySource.UpdateEdge(System.Windows.Media.PathSegmentCollection,System.Int32,System.Windows.Point,System.Windows.Point,System.Windows.Point,System.Double,System.Boolean)">
+            <summary>
+            Updates the edge line, and then connects to the anchor point if necessary.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.CalloutGeometrySource.UpdatePolylineSegment(System.Windows.Media.PathSegmentCollection,System.Int32,System.Windows.Point,System.Windows.Point,System.Windows.Point,System.Double)">
+            <summary>
+            Updates the polyline segment, and then connects start, anchor, and end points with the callout style.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.CalloutGeometrySource.UpdateLineSegment(System.Windows.Media.PathSegmentCollection,System.Int32,System.Windows.Point)">
+            <summary>
+            Updates the line segment to a given point.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.CalloutGeometrySource.ComputeCorners(System.Double)">
+            <summary>
+            Computes the corner points in a clockwise direction, with eight points for the four corners.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.CalloutGeometrySource.UpdateCornerArc(System.Windows.Media.PathSegmentCollection,System.Int32,System.Windows.Point,System.Windows.Point)">
+            <summary>
+            The corner arc is always smaller than a 90-degree arc.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.GeometryEffect">
+            <summary>
+            Provides the base class for GeometryEffect that transforms a geometry into another geometry.
+            </summary>
+            <remarks>
+            This class provides the basic implementation of processing the rendered geometry of a IShape before it's passed to rendering.
+            A typical implementation will extend the virtual function <see cref="F:ProcessGeometry"/> to transform the input geometry.
+            <see cref="T:GeometryEffect"/> is typically attached to <see cref="T:IShape"/> as an attached property and activated when <see cref="T:IShape"/> geometry is updated.
+            The <see cref="P:OutputGeometry"/> of a <see cref="T:GeometryEffect"/> will replace the rendered geometry in <see cref="T:IShape"/>.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.GetGeometryEffect(System.Windows.DependencyObject)">
+            <summary>
+            Gets the geometry effect as an attached property on a given dependency object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.SetGeometryEffect(System.Windows.DependencyObject,Microsoft.Expression.Media.GeometryEffect)">
+            <summary>
+            Sets the geometry effect as an attached property on a given dependency object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.CloneCurrentValue">
+            <summary>
+            Makes a deep copy of the <see cref="T:GeometryEffect"/> using its current values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.DeepCopy">
+            <summary>
+            Makes a deep copy of the geometry effect. Implements CloneCurrentValue in Silverlight.
+            </summary>
+            <returns>A clone of the current instance of the geometry effect.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.Equals(Microsoft.Expression.Media.GeometryEffect)">
+            <summary>
+            Tests if the given geometry effect is equivalent to the current instance.
+            </summary>
+            <param name="geometryEffect">A geometry effect to compare with.</param>
+            <returns>Returns true when two effects render with the same appearance.</returns>
+        </member>
+        <member name="F:Microsoft.Expression.Media.GeometryEffect.cachedGeometry">
+            <summary>
+            Specifics the geometry from the previous geometry effect process.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Invalidates the geometry effect without actually computing the geometry.
+            Notifies all parent shapes or effects to invalidate accordingly.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.ProcessGeometry(System.Windows.Media.Geometry)">
+            <summary>
+            Processes the geometry effect on a given input geometry.
+            Stores the result in GeometryEffect.OutputGeometry.
+            </summary>
+            <returns>Returns false if nothing has been changed.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.UpdateCachedGeometry(System.Windows.Media.Geometry)">
+            <summary>
+            Extends the way of updating cachedGeometry based on a given input geometry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.Detach">
+            <summary>
+            Notified when detached from a parent chain.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.Attach(System.Windows.DependencyObject)">
+            <summary>
+            Notified when attached to a parent chain.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.InvalidateParent(System.Windows.DependencyObject)">
+            <summary>
+            Invalidates the geometry on a given dependency object when
+            the object is a valid parent type (IShape or GeometryEffect).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffect.CreateInstanceCore">
+            <summary>
+            Implement the Freezable in WPF.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometryEffect.DefaultGeometryEffect">
+            <summary>
+            The default geometry effect that only passes through the input geometry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometryEffect.OutputGeometry">
+            <summary>
+            Gets the output geometry of this geometry effect.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.GeometryEffect.Parent">
+            <summary>
+            Parent can be either IShape or GeometryEffectGroup.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.GeometryEffectConverter">
+            <summary>
+            Provides the conversion between string and geometry effects.
+            </summary>
+            <remarks>
+            This class enables the brief syntax in XAML like <code>GeometryEffect="Sketch"</code>.
+            Creates a clone of the instance of the geometry effect so it can be used as a resource.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Expression.Media.GeometryEffectConverter.registeredEffects">
+            <summary>
+            Builds a preset list of supported geometry effects.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffectConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <summary>
+            A GeometryEffect that can be converted from a string type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffectConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <summary>
+            A GeometryEffect that can be converted to a string type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffectConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <summary>
+            Converts a string to a geometry effect. The fallback value is null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.GeometryEffectConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <summary>
+            Converts a geometry effect into a string.  The fallback value is null.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.InvalidateGeometryReasons">
+            <summary>
+            Specifies the reason of <see cref="M:Microsoft.Expression.Media.InvalidateGeometry"/> being called.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.InvalidateGeometryReasons.PropertyChanged">
+            <summary>
+            Geometry has been invalidated because a property has been changed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.InvalidateGeometryReasons.IsAnimated">
+            <summary>
+            Geometry has been invalidated because a property is being animated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.InvalidateGeometryReasons.ChildInvalidated">
+            <summary>
+            Geometry has been invalidated because a child has been invalidated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.InvalidateGeometryReasons.ParentInvalidated">
+            <summary>
+            Geometry has been invalidated because a parent has been invalidated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.InvalidateGeometryReasons.TemplateChanged">
+            <summary>
+            Geometry has been invalidated because a new template has been applied.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.IGeometrySourceExtensions">
+            <summary>
+            Provides helper extension methods to work with IGeometrySource and parameters.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.ArrowType">
+            <summary>
+            Specifies the arrow head type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowType.NoArrow">
+            <summary>
+            No arrow head.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowType.Arrow">
+            <summary>
+            A triangle arrow head.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowType.StealthArrow">
+            <summary>
+            A stealth triangle arrow head.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowType.OpenArrow">
+            <summary>
+            An open triangle arrow head.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.ArrowType.OvalArrow">
+            <summary>
+            An oval arrow head.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.CornerType">
+            <summary>
+            Specifies the corner location.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CornerType.TopLeft">
+            <summary>
+            On the top left of the bounding box.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CornerType.TopRight">
+            <summary>
+            On the top right of the bounding box.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CornerType.BottomRight">
+            <summary>
+            On the bottom right of the bounding box.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.CornerType.BottomLeft">
+            <summary>
+            On the bottom left of the bounding box.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.PolygonGeometrySource.ComputeLogicalBounds(System.Windows.Rect,Microsoft.Expression.Media.IGeometrySourceParameters)">
+            <summary>
+            Polygon recognizes Stretch.None as the same as Stretch.Fill.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.SketchGeometryEffect">
+            <summary>
+            A geometry effect that transforms any geometry into a Sketch style as in SketchFlow.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.SketchGeometryEffect.DeepCopy">
+            <summary>
+            Makes a deep copy of the geometry effect.
+            </summary>
+            <returns>A clone of the current instance of the geometry effect.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Media.SketchGeometryEffect.Equals(Microsoft.Expression.Media.GeometryEffect)">
+            <summary>
+            Tests if the given geometry effect is equivalent to the current instance.
+            </summary>
+            <param name="geometryEffect">A geometry effect to compare with.</param>
+            <returns>Returns true when two effects render with the same appearance.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Media.SketchGeometryEffect.UpdateCachedGeometry(System.Windows.Media.Geometry)">
+            <summary>
+            Updating cachedGeometry based on the given input geometry.
+            </summary>
+            <param name="input">An input geometry.</param>
+            <returns>Returns true when anything on cachedGeometry has been updated.</returns>
+        </member>
+        <member name="F:Microsoft.Expression.Media.SketchGeometryEffect.randomSeed">
+            <summary>
+            Use the same random seed on creation to keep visual flickering to a minimum.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.SketchGeometryEffect.GetEffectiveSegments(System.Windows.Media.PathFigure)">
+            <summary>
+            Iterates all simple segments in given path figure including the closing chord.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Shapes.Arc">
+            <summary>
+            Renders an arc shape supporting Arc, Ring, and Pie mode controlled by ArcThickness.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Shapes.PrimitiveShape">
+            <summary>
+            Platform-neutral implementation of Shape deriving from WPF:Shape or SL:Path.
+            </summary>
+            <summary>
+            Provides the WPF implementation of Shape that derives from the platform Shape.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Shapes.PrimitiveShape.CreateGeometrySource">
+            <summary>
+            Extends how the shape is drawn with creating geometry source.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Shapes.PrimitiveShape.InvalidateGeometry(Microsoft.Expression.Media.InvalidateGeometryReasons)">
+            <summary>
+            Invalidates the geometry for a <see cref="T:Microsoft.Expression.Media.IShape"/>. After the invalidation, the <see cref="T:Microsoft.Expression.Media.IShape"/> will recompute the geometry, which will occur asynchronously.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Shapes.PrimitiveShape.MeasureOverride(System.Windows.Size)">
+            <summary>Provides the behavior for the Measure portion of Silverlight layout pass. Classes can override this method to define their own Measure pass behavior.</summary>
+            <returns>The size that this object determines it requires during layout, based on its calculations of child object allotted sizes, or possibly on other considerations such as fixed container size.</returns>
+            <param name="availableSize">The available size that this object can provide to child objects. Infinity (<see cref="F:System.Double.PositiveInfinity" />) can be specified as a value to indicate that the object will size to whatever content is available.</param>
+            <remarks>
+            In WPF, measure override works from Shape.DefiningGeometry which is not always as expected
+            see bug 99497 for details where WPF is not having correct measure by default.
+            
+            In Silverlight, measure override on Path does not work the same as primitive shape works.
+            
+            We should return the smallest size this shape can correctly render without clipping.
+            By default a shape can render as small as a dot, therefore returning the strokethickness.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Shapes.PrimitiveShape.ArrangeOverride(System.Windows.Size)">
+            <summary>Provides the behavior for the Arrange portion of Silverlight layout pass. Classes can override this method to define their own Arrange pass behavior.</summary>
+            <returns>The actual size used once the element is arranged in layout.</returns>
+            <param name="finalSize">The final area within the parent that this object should use to arrange itself and its children.</param>
+            <remarks> <see cref="T:Microsoft.Expression.Shapes.PrimitiveShape"/>  will recompute the Geometry when it's invalidated and update the RenderedGeometry and GeometryMargin.</remarks>
+        </member>
+        <member name="E:Microsoft.Expression.Shapes.PrimitiveShape.RenderedGeometryChanged">
+            <summary>
+            Occurs when RenderedGeometry is changed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.PrimitiveShape.GeometryMargin">
+            <summary>
+            Gets the margin between logical bounds and actual geometry bounds.
+            This can be either positive (as in <see cref="T:Microsoft.Expression.Shapes.Arc"/>) or negative (as in <see cref="T:Microsoft.Expression.Controls.Callout"/>).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.Arc.StartAngle">
+            <summary>
+            Gets or sets the start angle.
+            </summary>
+            <value>The start angle in degrees. Zero degrees is pointing up.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.Arc.EndAngle">
+            <summary>
+            Gets or sets the end angle.
+            </summary>
+            <value>The end angle in degrees. Zero degrees is pointing up.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.Arc.ArcThickness">
+            <summary>
+            Gets or sets the arc thickness.
+            </summary>
+            <value>The arc thickness in pixels or percentage depending on "ArcThicknessUnit".</value>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.Arc.ArcThicknessUnit">
+            <summary>
+            Gets or sets the arc thickness unit.
+            </summary>
+            <value>The arc thickness unit in pixels or percentage.</value>
+        </member>
+        <member name="T:Microsoft.Expression.Shapes.BlockArrow">
+            <summary>
+            Renders a block arrow shape that supports resizable arrow head and body.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.BlockArrow.Orientation">
+            <summary>
+            Gets or sets the orientation.
+            </summary>
+            <value>The orientation where the arrow is pointing to.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.BlockArrow.ArrowheadAngle">
+            <summary>
+            Gets or sets the arrow head angle.
+            </summary>
+            <value>The arrow head angle in degrees.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.BlockArrow.ArrowBodySize">
+            <summary>
+            Gets or sets the size of the arrow body.
+            </summary>
+            <value>The size of the arrow body in pixels.</value>
+        </member>
+        <member name="T:Microsoft.Expression.Shapes.RegularPolygon">
+            <summary>
+            Renders a regular polygon shape or corresponding star shape with variable number of points.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.RegularPolygon.PointCount">
+            <summary>
+            Gets or sets the number of points of the <see cref="T:Microsoft.Expression.Shapes.RegularPolygon"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Shapes.RegularPolygon.InnerRadius">
+            <summary>
+            Gets or sets the the distance between the center and the innermost point.
+            </summary>
+            <value>The distance between the center and the innermost point.</value>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.dll has changed
Binary file Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.resources.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/Elysium.Theme.1.3/Microsoft.Expression.Interactions.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,1295 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Expression.Interactions</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ActionCommand">
+            <summary>
+            A basic implementation of ICommand that wraps a method that takes no parameters or a method that takes one parameter.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ActionCommand.#ctor(System.Action)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.ActionCommand"/> class.
+            </summary>
+            <param name="action">The action.</param>
+            <remarks>Use this constructor to provide an action that ignores the ICommand parameter.</remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ActionCommand.#ctor(System.Action{System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.ActionCommand"/> class.
+            </summary>
+            <param name="objectAction">An action that takes an object parameter.</param>
+            <remarks>Use this constructor to provide an action that uses the object parameter passed by the Execute method.</remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ActionCommand.System#Windows#Input#ICommand#CanExecute(System.Object)">
+            <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, then this object can be set to null.</param>
+            <returns>
+            Always returns true.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ActionCommand.Execute(System.Object)">
+            <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, then this object can be set to null.</param>
+        </member>
+        <member name="E:Microsoft.Expression.Interactivity.Core.ActionCommand.System#Windows#Input#ICommand#CanExecuteChanged">
+            <summary>
+            Occurs when changes occur that affect whether the command should execute. Will not be fired by ActionCommand.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.CallMethodAction">
+            <summary>
+            Calls a method on a specified object when invoked.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.CallMethodAction.Invoke(System.Object)">
+            <summary>
+            Invokes the action.
+            </summary>
+            <param name="parameter">The parameter of the action. If the action does not require a parameter, the parameter may be set to a null reference.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.CallMethodAction.OnAttached">
+            <summary>
+            Called after the action is attached to an AssociatedObject.
+            </summary>
+            <remarks>Override this to hook up functionality to the AssociatedObject.</remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.CallMethodAction.OnDetaching">
+            <summary>
+            Called when the action is getting detached from its AssociatedObject, but before it has actually occurred.
+            </summary>
+            <remarks>Override this to unhook functionality from the AssociatedObject.</remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.CallMethodAction.TargetObject">
+            <summary>
+            The object that exposes the method of interest. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.CallMethodAction.MethodName">
+            <summary>
+            The name of the method to invoke. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ChangePropertyAction">
+            <summary>
+            An action that will change a specified property to a specified value when invoked.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.ChangePropertyAction"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.Invoke(System.Object)">
+            <summary>
+            Invokes the action.
+            </summary>
+            <param name="parameter">The parameter of the action. If the action does not require a parameter, then the parameter may be set to a null reference.</param>
+            <exception cref="T:System.ArgumentException">A property with <c cref="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.PropertyName"/> could not be found on the Target.</exception>
+            <exception cref="T:System.ArgumentException">Could not set <c cref="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.PropertyName"/> to the value specified by <c cref="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.Value"/>.</exception>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.PropertyName">
+            <summary>
+            Gets or sets the name of the property to change. This is a dependency property.
+            </summary>
+            <value>The name of the property to change.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.Value">
+            <summary>
+            Gets or sets the value to set. This is a dependency property.
+            </summary>
+            <value>The value to set.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.Duration">
+            <summary>
+            Gets or sets the duration of the animation that will occur when the ChangePropertyAction is invoked.  This is a dependency property.
+            If the duration is unset, no animation will be applied.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ChangePropertyAction.Increment">
+            <summary>
+            Increment by Value if true; otherwise, set the value directly. If the property cannot be incremented, it will instead try to set the value directly.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ComparisonCondition">
+            <summary>
+            Represents one ternary condition.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ComparisonCondition.Evaluate">
+            <summary>
+            Method that evaluates the condition. Note that this method can throw ArgumentException if the operator is
+            incompatible with the type. For instance, operators LessThan, LessThanOrEqual, GreaterThan, and GreaterThanOrEqual
+            require both operators to implement IComparable. 
+            </summary>
+            <returns>Returns true if the condition has been met; otherwise, returns false.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ComparisonCondition.EnsureBindingUpToDate">
+            <summary>
+            Ensure that any binding on DP operands are up-to-date.  
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ComparisonCondition.LeftOperand">
+            <summary>
+            Gets or sets the left operand.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ComparisonCondition.RightOperand">
+            <summary>
+            Gets or sets the right operand.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ComparisonCondition.Operator">
+            <summary>
+            Gets or sets the comparison operator. 
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ComparisonConditionType">
+            <summary>
+            Enumeration of different comparison operators.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.ComparisonLogic.EvaluateImpl(System.Object,Microsoft.Expression.Interactivity.Core.ComparisonConditionType,System.Object)">
+            <summary>
+            This method evaluates operands. 
+            </summary>
+            <param name="leftOperand">Left operand from the LeftOperand property.</param>
+            <param name="operatorType">Operator from Operator property.</param>
+            <param name="rightOperand">Right operand from the RightOperand property.</param>
+            <returns>Returns true if the condition is met; otherwise, returns false.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.ComparisonLogic.EvaluateComparable(System.IComparable,Microsoft.Expression.Interactivity.Core.ComparisonConditionType,System.IComparable)">
+            <summary>
+            Evaluates both operands that implement the IComparable interface.
+            </summary>
+            <param name="leftOperand">Left operand from the LeftOperand property.</param>
+            <param name="operatorType">Operator from Operator property.</param>
+            <param name="rightOperand">Right operand from the RightOperand property.</param>
+            <returns>Returns true if the condition is met; otherwise, returns false.</returns>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ForwardChaining">
+            <summary>
+            Forward chaining.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ConditionalExpression">
+            <summary>
+            Represents a conditional expression that is set on a ConditionBehavior.Condition property. 
+            Contains a list of conditions that gets evaluated in order to return true or false for ICondition.Evaluate().
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ICondition">
+            <summary>
+            An interface that a given object must implement in order to be 
+            set on a ConditionBehavior.Condition property. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ConditionalExpression.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.ConditionalExpression"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ConditionalExpression.Evaluate">
+            <summary>
+            Goes through the Conditions collection and evalutes each condition based on 
+            ForwardChaining property.
+            </summary>
+            <returns>Returns true if conditions are met; otherwise, returns false.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ConditionalExpression.ForwardChaining">
+            <summary>
+            Gets or sets forward chaining for the conditions.
+            If forward chaining is set to ForwardChaining.And, all conditions must be met.
+            If forward chaining is set to ForwardChaining.Or, only one condition must be met.		
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ConditionalExpression.Conditions">
+            <summary>
+            Return the Condition collections.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ConditionBehavior">
+            <summary>
+            A behavior that attaches to a trigger and controls the conditions
+            to fire the actions. 
+            </summary>
+            
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ConditionBehavior.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.ConditionBehavior"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ConditionBehavior.OnPreviewInvoke(System.Object,System.Windows.Interactivity.PreviewInvokeEventArgs)">
+            <summary>
+            The event handler that is listening to the preview invoke event that is fired by 
+            the trigger. Setting PreviewInvokeEventArgs.Cancelling to True will
+            cancel the invocation.
+            </summary>
+            <param name="sender">The trigger base object.</param>
+            <param name="e">An object of type PreviewInvokeEventArgs where e.Cancelling can be set to True.</param>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.ConditionBehavior.Condition">
+            <summary>
+            Gets or sets the IConditon object on behavior.
+            </summary>
+            <value>The name of the condition to change.</value>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.DataBindingHelper">
+            <summary>
+            Helper class for managing binding expressions on dependency objects.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.DataBindingHelper.EnsureDataBindingUpToDateOnMembers(System.Windows.DependencyObject)">
+            <summary>
+            Ensure that all DP on an action with binding expressions are
+            up to date. DataTrigger fires during data binding phase. Since
+            actions are children of the trigger, any bindings on the action
+            may not be up-to-date. This routine is called before the action
+            is invoked in order to guarantee that all bindings are up-to-date
+            with the most current data. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.DataBindingHelper.EnsureDataBindingOnActionsUpToDate(System.Windows.Interactivity.TriggerBase{System.Windows.DependencyObject})">
+            <summary>
+            Ensures that all binding expression on actions are up to date
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.DataBindingHelper.EnsureBindingUpToDate(System.Windows.DependencyObject,System.Windows.DependencyProperty)">
+            <summary>
+             This helper function ensures that, if a dependency property on a dependency object
+             has a binding expression, the binding expression is up-to-date. 
+            </summary>
+            <param name="target"></param>
+            <param name="dp"></param>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.DataStateBehavior">
+            <summary>
+            Toggles between two states based on a conditional statement.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.DataStateBehavior.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:Microsoft.Expression.Interactivity.Core.DataStateBehavior.IsElementLoaded(System.Windows.FrameworkElement)">
+            <summary>
+            A helper function to take the place of FrameworkElement.IsLoaded, as this property isn't available in Silverlight.
+            </summary>
+            <param name="element">The element of interest.</param>
+            <returns>Returns true if the element has been loaded; otherwise, returns false.</returns>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataStateBehavior.Binding">
+            <summary>
+            Gets or sets the binding that produces the property value of the data object. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataStateBehavior.Value">
+            <summary>
+            Gets or sets the value to be compared with the property value of the data object. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataStateBehavior.TrueState">
+            <summary>
+            Gets or sets the name of the visual state to transition to when the condition is met. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataStateBehavior.FalseState">
+            <summary>
+            Gets or sets the name of the visual state to transition to when the condition is not met. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.DataStoreChangedTrigger">
+            <summary>
+            Trigger designed to be bound to a data store property. Fires when the property changes.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.PropertyChangedTrigger">
+             <summary>
+             Represents a trigger that performs actions when the bound data have changed. 
+             </summary>
+            UA_REVIEW:chabiss
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.PropertyChangedTrigger.EvaluateBindingChange(System.Object)">
+            <summary>
+            Called when the binding property has changed. 
+            UA_REVIEW:chabiss
+            </summary>
+            <param name="args"><see cref="T:System.Windows.DependencyPropertyChangedEventArgs"/> argument.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.PropertyChangedTrigger.OnAttached">
+            <summary>
+            Called after the trigger is attached to an AssociatedObject.
+            UA_REVIEW:chabiss
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.PropertyChangedTrigger.OnDetaching">
+            <summary>
+            Called when the trigger is being detached from its AssociatedObject, but before it has actually occurred.
+            UA_REVIEW:chabiss
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.PropertyChangedTrigger.Binding">
+             <summary>
+             A binding object that the trigger will listen to, and that causes the trigger to fire when it changes.
+             </summary>
+            UA_REVIEW:chabiss
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.DataTrigger">
+            <summary>
+            Represents a trigger that performs actions when the bound data meets a specified condition.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.DataTrigger.EvaluateBindingChange(System.Object)">
+            <summary>
+            Called when the binding property has changed. 
+            UA_REVIEW:chabiss
+            </summary>
+            <param name="args"><see cref="T:System.Windows.DependencyPropertyChangedEventArgs"/> argument.</param>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataTrigger.Value">
+            <summary>
+            Gets or sets the value to be compared with the property value of the data object. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.DataTrigger.Comparison">
+            <summary>
+            Gets or sets the type of comparison to be performed between the specified values. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager">
+            <summary>
+            ExtendedVisualStateManager is a custom VisualStateManager that can smooth out the animation of layout properties.
+            With this custom VisualStateManager, states can include changes to properties like Grid.Column, can change element heights to or from Auto, and so on.
+            These changes will be smoothed out over time using the GeneratedDuration and GeneratedEasingFunction of the appropriate transition.
+            See the "VisualStateManager overrides" region below for a general description of the algorithm.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.UseFluidLayoutProperty">
+            <summary>
+            A VisualStateGroup that can use FluidLayout or not.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.RuntimeVisibilityPropertyProperty">
+            <summary>
+            Visibility is shadowed by a custom attached property at runtime.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.OriginalLayoutValuesProperty">
+            <summary>
+            A VisualStateGroup keeps a list of these original values in an attached property.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.LayoutStoryboardProperty">
+            <summary>
+            For every state, the layout-specific properties get extracted and then are attached to the state. These properties are removed from the state itself.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.CurrentStateProperty">
+            <summary>
+            Remember the current state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.TransitionEffectProperty">
+            <summary>
+            The TransitionEffect to use when the state changes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.TransitionEffectStoryboardProperty">
+            <summary>
+            The TransitionEffectStoryboard in use during the state change.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.DidCacheBackgroundProperty">
+            <summary>
+            The cached background in use during the state change.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.CachedBackgroundProperty">
+            <summary>
+            The cached background in use during the state change.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.CachedEffectProperty">
+            <summary>
+            The cached background in use during the state change.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.MovingElements">
+            <summary>
+            This is the set of elements that are currently in motion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.LayoutTransitionStoryboard">
+            <summary>
+            This is the storyboard that is animating the transition.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.LayoutProperties">
+            <summary>
+            This list contains all the known layout properties.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.StopAnimations">
+            <summary>
+            Stop the animation and replace the layout changes that were made to support that animation.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.FindTransition(System.Windows.VisualStateGroup,System.Windows.VisualState,System.Windows.VisualState)">
+            <summary>
+            Locate the transition that VisualStateManager will use to animate the change, so that the layout animation can match the duration and easing.
+            </summary>
+            <param name="group">The group in which the transition is taking place.</param>
+            <param name="previousState">The state that you are coming from.</param>
+            <param name="state">The state you are going to.</param>
+            <returns>The transition</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.ExtractLayoutStoryboard(System.Windows.VisualState)">
+            <summary>
+            Remove all layout-affecting properties from the Storyboard for the state and cache them in an attached property.
+            </summary>
+            <param name="state">The state you are moving to.</param>
+            <returns>A Storyboard containing the layout properties in that state.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.FindTargetElements(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Windows.Media.Animation.Storyboard,System.Collections.Generic.List{Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.OriginalLayoutValueRecord},System.Collections.Generic.List{System.Windows.FrameworkElement})">
+            <summary>
+            The set of target elements is the set of all elements that might have moved in a layout transition. This set is the closure of:
+             - Elements with layout properties animated in the state.
+             - Siblings of elements in the set.
+             - Parents of elements in the set.
+             
+            Subsequent code will check these rectangles both before and after the layout change.
+            </summary>
+            <param name="control">The control whose layout is changing state.</param>
+            <param name="layoutStoryboard">The storyboard containing the layout changes.</param>
+            <param name="originalValueRecords">Any previous values from previous state navigations that might be reverted.</param>
+            <param name="movingElements">The set of elements currently in motion, if there is a state change transition ongoing.</param>
+            <returns>The full set of elements whose layout may have changed.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.GetRectsOfTargets(System.Collections.Generic.List{System.Windows.FrameworkElement},System.Collections.Generic.List{System.Windows.FrameworkElement})">
+            <summary>
+            Gets a set of rectangles for all the elements in the target list.
+            </summary>
+            <param name="targets">The set of elements to consider.</param>
+            <param name="movingElements">The set of elements currently in motion.</param>
+            <returns>A Dictionary mapping elements to their Rects.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.GetLayoutRect(System.Windows.FrameworkElement)">
+            <summary>
+            Get the layout rectangle of an element, by getting the layout slot and then computing which portion of the slot is being used.
+            </summary>
+            <param name="element">The element whose layout Rect will be retrieved.</param>
+            <returns>The layout Rect of that element.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.GetOldOpacities(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Windows.Media.Animation.Storyboard,System.Collections.Generic.List{Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.OriginalLayoutValueRecord},System.Collections.Generic.List{System.Windows.FrameworkElement})">
+            <summary>
+            Get the opacities of elements at the time of the state change, instead of visibilities, because the state change may be in process and the current value is the most important.
+            </summary>
+            <param name="control">The control whose state is changing.</param>
+            <param name="layoutStoryboard">The storyboard with the layout properties.</param>
+            <param name="originalValueRecords">The set of original values.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.SetLayoutStoryboardProperties(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Windows.Media.Animation.Storyboard,System.Collections.Generic.List{Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.OriginalLayoutValueRecord})">
+            <summary>
+            Go through the layout Storyboard and set all the properties by using SetValue to enable calling UpdateLayout without
+            ticking the timeline, which would cause a render.
+            All values that are overwritten will be stored in the collection of OriginalValueRecords so that they can be replaced later.
+            </summary>
+            <param name="control">The control whose state is changing.</param>
+            <param name="layoutStoryboard">The Storyboard holding the layout properties.</param>
+            <param name="originalValueRecords">The store of original values.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.WrapMovingElementsInCanvases(System.Collections.Generic.List{System.Windows.FrameworkElement},System.Collections.Generic.Dictionary{System.Windows.FrameworkElement,System.Windows.Rect},System.Collections.Generic.Dictionary{System.Windows.FrameworkElement,System.Windows.Rect})">
+            <summary>
+            Take all the elements that will be moving as a result of the layout animation, and wrap them in Canvas panels so that
+            they do not affect their sibling elements.
+            </summary>
+            <param name="movingElements">The set of elements that will be moving.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.UnwrapMovingElementsFromCanvases(System.Collections.Generic.List{System.Windows.FrameworkElement})">
+            <summary>
+            Take all the elements that have been moving as a result of the layout animation, and unwrap them from their Canvas panels.
+            </summary>
+            <param name="movingElements">The set of elements that have been moving.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.CopyLayoutProperties(System.Windows.FrameworkElement,System.Windows.FrameworkElement,System.Boolean)">
+            <summary>
+            Copy the layout properties from the source element to the target element, clearing them from the source.
+            </summary>
+            <param name="source">The source of the layout properties.</param>
+            <param name="target">The destination of the layout properties.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.CreateLayoutTransitionStoryboard(System.Windows.VisualTransition,System.Collections.Generic.List{System.Windows.FrameworkElement},System.Collections.Generic.Dictionary{System.Windows.FrameworkElement,System.Double})">
+            <summary>
+            Create the actual Storyboard that will be used to animate the transition. Use all previously calculated results.
+            </summary>
+            <param name="duration">The duration of the animation.</param>
+            <param name="ease">The easing function to be used in the animation.</param>
+            <param name="movingElements">The set of elements that will be moving.</param>
+            <param name="oldOpacities">The old opacities of the elements whose visibility properties are changing.</param>
+            <returns>The Storyboard.</returns>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.ExtendedVisualStateManager.OriginalLayoutValueRecord">
+            <summary>
+            OriginalValueRecord remembers the original value of a property that was changed in a state.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.FluidMoveScope">
+            <summary>
+            This enumerated type indicates whether a FluidMoveBehavior applies to the element to which it is attached, or to the children of that element.
+            "Self" is useful when there is a single element that should behave in a special manner; "Children" is useful when the same behavior should apply to all
+            children of a WrapPanel or to the ItemsHost panel of an ItemsControl.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.TagType">
+            <summary>
+            This enumerated type indicates whether an element is identified by itself, or by its DataContext.
+            DataContext identification allows movement from one data-driven location to another.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.AppliesToProperty">
+            <summary>
+            Dependency property for the scope of the behavior. See FluidMoveScope for more details.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.IsActiveProperty">
+            <summary>
+            Dependency property for the active state of the behavior.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.TagProperty">
+            <summary>
+            Dependency property that provides the ability to use the element as its own tag, or the binding on the element.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.TagPathProperty">
+            <summary>
+            Dependency property for the extra path to add to the binding when UsaBindingAsTag is true.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.IdentityTagProperty">
+            <summary>
+            Identity tag used to detect element motion between containers.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.AppliesTo">
+            <summary>
+            Indicates whether the behavior applies just to this element, or to all children of the element (if the element is a Panel).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.IsActive">
+            <summary>
+            Indicates whether the behavior is currently active.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.Tag">
+            <summary>
+            Indicates whether to use the element as its own tag, or to use the binding on the element as the tag.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.TagPath">
+            <summary>
+            Extra path to add to the binding when TagType is specified.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.FluidMoveBehaviorBase.TagData">
+            <summary>
+            Private structure that stores all relevant data pertaining to a tagged item.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior">
+            <summary>
+            Behavior that watches an element (or a set of elements) for layout changes, and moves the element smoothly to the new position when needed.
+            This behavior does not animate the size or visibility of an element; it only animates the offset of that element within its parent container.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.DurationProperty">
+            <summary>
+            Dependency property for the duration of the move.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.InitialTagProperty">
+            <summary>
+            Dependency property for the tag type to use just before the object is loaded.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.InitialTagPathProperty">
+            <summary>
+            Dependency property for the extra path to add to the binding when UsaBindingAsTag is true.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.InitialIdentityTagProperty">
+            <summary>
+            Identity tag used to detect element motion between containers.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.FloatAboveProperty">
+            <summary>
+            Dependency property for the FloatAbove flag.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.EaseXProperty">
+            <summary>
+            Dependency property for the EasingFunction to use for the horizontal component of the move.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.EaseYProperty">
+            <summary>
+            Dependency property for the EasingFunction to use for the vertical component of the move.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.OverlayProperty">
+            <summary>
+            Remember the popup/adorner being used, in case of element motion between containers when FloatAbove is true.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.CacheDuringOverlayProperty">
+            <summary>
+            Opacity cache used when floating a Popup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.HasTransformWrapperProperty">
+            <summary>
+            Marks the animation transform.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.Duration">
+            <summary>
+            The duration of the move.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.InitialTag">
+            <summary>
+            Spawning point for this item.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.InitialTagPath">
+            <summary>
+            Extra path to add to the binding when TagType is specified.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.FloatAbove">
+            <summary>
+            Flag that says whether elements are allowed to float above their containers (in a Popup or Adorner) when changing containers.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.EaseX">
+            <summary>
+            EasingFunction to use for the horizontal component of the move.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.FluidMoveBehavior.EaseY">
+            <summary>
+            EasingFunction to use for the vertical component of the move.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.AdornerContainer">
+            <summary>
+            Simple helper class to allow any UIElements to be used as an Adorner.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.GoToStateAction">
+            <summary>
+            An action that will transition a FrameworkElement to a specified VisualState when invoked.
+            </summary>
+            <remarks>
+            If the TargetName property is set, this action will attempt to change the state of the targeted element. If not, it walks
+            the element tree in an attempt to locate an alternative target that defines states. ControlTemplate and UserControl are 
+            two common possibilities.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.GoToStateAction.OnTargetChanged(System.Windows.FrameworkElement,System.Windows.FrameworkElement)">
+            <summary>
+            Called when the target changes. If the TargetName property isn't set, this action has custom behavior.
+            </summary>
+            <param name="oldTarget"></param>
+            <param name="newTarget"></param>
+            <exception cref="T:System.InvalidOperationException">Could not locate an appropriate FrameworkElement with states.</exception>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.GoToStateAction.Invoke(System.Object)">
+            <summary>
+            This method is called when some criteria is met and the action is invoked.
+            </summary>
+            <param name="parameter"></param>
+            <exception cref="T:System.InvalidOperationException">Could not change the target to the specified StateName.</exception>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.GoToStateAction.UseTransitions">
+            <summary>
+            Determines whether or not to use a VisualTransition to transition between states.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.GoToStateAction.StateName">
+            <summary>
+            The name of the VisualState.  
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Input.KeyTrigger">
+            <summary>
+            A Trigger that is triggered by a keyboard event.  If the target Key and Modifiers are detected, it fires.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.KeyTrigger.Key">
+            <summary>
+            The key that must be pressed for the trigger to fire.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.KeyTrigger.Modifiers">
+            <summary>
+            The modifiers that must be active for the trigger to fire (the default is no modifiers pressed).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.KeyTrigger.ActiveOnFocus">
+            <summary>
+            If true, the Trigger only listens to its trigger Source object, which means that element must have focus for the trigger to fire.
+            If false, the Trigger listens at the root, so any unhandled KeyDown/Up messages will be caught.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.KeyTrigger.FiredOn">
+            <summary>
+            Determines whether or not to listen to the KeyDown or KeyUp event.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.LaunchUriOrFileAction">
+            <summary>
+            An action that will launch a process to open a file or Uri. For files, this action will launch the default program 
+            for the given file extension. A Uri will open in a web browser.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.LaunchUriOrFileAction.Invoke(System.Object)">
+            <summary>
+            This method is called when some criteria is met and the action is invoked.
+            </summary>
+            <param name="parameter"></param>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.LaunchUriOrFileAction.Path">
+            <summary>
+            The file or Uri to open. 
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior">
+            <summary>
+            Repositions the attached element in response to mouse drag gestures on the element.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.XProperty">
+            <summary>
+            Dependency property for the X position of the dragged element, relative to the left of the root element.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.YProperty">
+            <summary>
+            Dependency property for the Y position of the dragged element, relative to the top of the root element.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ConstrainToParentBoundsProperty">
+            <summary>
+            Dependency property for the ConstrainToParentBounds property. If true, the dragged element will be constrained to stay within the bounds of its parent container.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.UpdatePosition(System.Windows.Point)">
+            <summary>
+            Attempts to update the position of the associated element to the specified coordinates.
+            </summary>
+            <param name="point">The desired position of the element in root coordinates.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ApplyTranslation(System.Double,System.Double)">
+            <summary>
+            Applies a relative position translation to the associated element.
+            </summary>
+            <param name="x">The X component of the desired translation in root coordinates.</param>
+            <param name="y">The Y component of the desired translation in root coordinates.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ApplyTranslationTransform(System.Double,System.Double)">
+            <summary>
+            Applies the given translation to the RenderTransform of the associated element.
+            </summary>
+            <param name="x">The X component of the translation in parent coordinates.</param>
+            <param name="y">The Y component of the translation in parent coordinates.</param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.CloneTransform(System.Windows.Media.Transform)">
+            <summary>
+            Does a recursive deep copy of the specified transform.
+            </summary>
+            <param name="transform">The transform to clone.</param>
+            <returns>A deep copy of the specified transform, or null if the specified transform is null.</returns>
+            <exception cref="T:System.ArgumentException">Thrown if the type of the Transform is not recognized.</exception>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.UpdatePosition">
+            <summary>
+            Updates the X and Y properties based on the current rendered position of the associated element.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.RectContainsRect(System.Windows.Rect,System.Windows.Rect)">
+            <summary>
+            Check if one Rect is contained by another.
+            </summary>
+            <param name="rect1">The containing Rect.</param>
+            <param name="rect2">The contained Rect.</param>
+            <returns><c>True</c> if rect1 contains rect2; otherwise, <c>False</c>.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.TransformAsVector(System.Windows.Media.GeneralTransform,System.Double,System.Double)">
+            <summary>
+            Transforms as vector.
+            </summary>
+            <param name="transform">The transform.</param>
+            <param name="x">The X component of the vector.</param>
+            <param name="y">The Y component of the vector.</param>
+            <returns>A point containing the values of X and Y transformed by transform as a vector.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.GetTransformOffset(System.Windows.Media.GeneralTransform)">
+            <summary>
+            Gets the transform offset.
+            </summary>
+            <param name="transform">The transform.</param>
+            <returns>The offset of the transform.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.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:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.OnDetaching">
+            <summary>
+            Called when the behavior is getting detached from its AssociatedObject, but before it has actually occurred.
+            </summary>
+            <remarks>Override this to unhook functionality from the AssociatedObject.</remarks>
+        </member>
+        <member name="E:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.DragBegun">
+            <summary>
+            Occurs when a drag gesture is initiated.
+            </summary>
+        </member>
+        <member name="E:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.Dragging">
+            <summary>
+            Occurs when a drag gesture update is processed.
+            </summary>
+        </member>
+        <member name="E:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.DragFinished">
+            <summary>
+            Occurs when a drag gesture is finished.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.X">
+            <summary>
+            Gets or sets the X position of the dragged element, relative to the left of the root element. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.Y">
+            <summary>
+            Gets or sets the Y position of the dragged element, relative to the top of the root element. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ConstrainToParentBounds">
+            <summary>
+            Gets or sets a value indicating whether the dragged element is constrained to stay within the bounds of its parent container. This is a dependency property.
+            </summary>
+            <value>
+            	<c>True</c> if the dragged element should be constrained to its parents bounds; otherwise, <c>False</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ActualPosition">
+            <summary>
+            Gets the on-screen position of the associated element in root coordinates.
+            </summary>
+            <value>The on-screen position of the associated element in root coordinates.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ElementBounds">
+            <summary>
+            Gets the element bounds in element coordinates.
+            </summary>
+            <value>The element bounds in element coordinates.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.ParentElement">
+            <summary>
+            Gets the parent element of the associated object.
+            </summary>
+            <value>The parent element of the associated object.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.RootElement">
+            <summary>
+            Gets the root element of the scene in which the associated object is located.
+            </summary>
+            <value>The root element of the scene in which the associated object is located.</value>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Layout.MouseDragElementBehavior.RenderTransform">
+            <summary>
+            Gets and sets the RenderTransform of the associated element.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Media.PlaySoundAction">
+            <summary>
+            An action that will play a sound to completion.
+            </summary>
+            <remarks>
+            This action is intended for use with short sound effects that don't need to be stopped or controlled. If you're trying 
+            to create a music player or game, it may not meet your needs.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.PlaySoundAction.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Media.PlaySoundAction"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.PlaySoundAction.SetMediaElementProperties(System.Windows.Controls.MediaElement)">
+            <summary>
+            When the action is invoked, this method is used to customize the dynamically created MediaElement.
+            </summary>
+            <remarks>
+            This method may be useful for Action authors who wish to extend PlaySoundAction. If you want to control the 
+            MediaElement Balance property, you could inherit from PlaySoundAction and override this method.
+            </remarks>
+            <param name="mediaElement"></param>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.PlaySoundAction.Invoke(System.Object)">
+            <summary>
+            This method is called when some criteria are met and the action should be invoked. 
+            </summary>
+            <remarks>
+            Each invocation of the Action plays a new sound. Although the implementation is subject-to-change, the caller should 
+            anticipate that this will create a new MediaElement that will be cleaned up when the sound completes or if the media 
+            fails to play.
+            </remarks>
+            <param name="parameter"></param>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Media.PlaySoundAction.Source">
+            <summary>
+            A Uri defining the location of the sound file. This is used to set the source property of the MediaElement. This is a dependency property.
+            </summary>
+            <remarks>
+            The sound can be any file format supported by MediaElement. In the case of a video, it will play only the
+            audio portion.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Media.PlaySoundAction.Volume">
+            <summary>
+            Control the volume of the sound. This is used to set the Volume property of the MediaElement. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.RemoveElementAction">
+            <summary>
+            An action that will remove the targeted element from the tree when invoked.
+            </summary>
+            <remarks>
+            This action may fail. The action understands how to remove elements from common parents but not from custom collections or direct manipulation
+            of the visual tree.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.SetDataStoreValueAction">
+            <summary>
+            An action that will change the value of a property from a data store object.
+            This class is identical to ChangePropertyAction. The only difference is that the data store picker is loaded 
+            for this action.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Media.StoryboardAction">
+            <summary>
+            An abstract class that provides the ability to target a Storyboard.
+            </summary>
+            <remarks>
+            For action authors, this class provides a standard way to target a Storyboard. Design tools may choose to provide a 
+            special editing experience for classes that inherit from this action, thereby improving the designer experience.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.StoryboardAction.OnStoryboardChanged(System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            This method is called when the Storyboard property is changed.
+            </summary>
+            <param name="args"></param>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Media.StoryboardAction.Storyboard">
+            <summary>
+            The targeted Storyboard. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Media.ControlStoryboardAction">
+            <summary>
+            An action that will change the state of a targeted storyboard when invoked.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.ControlStoryboardAction.Invoke(System.Object)">
+            <summary>
+            This method is called when some criteria is met and the action should be invoked. This method will attempt to 
+            change the targeted storyboard in a way defined by the ControlStoryboardOption.
+            </summary>
+            <param name="parameter"></param>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Media.StoryboardTrigger">
+            <summary>
+            An abstract class that provides the ability to target a Storyboard.
+            </summary>
+            <remarks>
+            For Trigger authors, this class provides a standard way to target a Storyboard. Design tools may choose to provide a 
+            special editing experience for classes that inherit from this trigger, thereby improving the designer experience. 
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.StoryboardTrigger.OnStoryboardChanged(System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            This method is called when the Storyboard property is changed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Media.StoryboardTrigger.Storyboard">
+            <summary>
+            The targeted Storyboard. This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Media.StoryboardCompletedTrigger">
+            <summary>
+            A trigger that listens for the completion of a Storyboard.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Media.StoryboardCompletedTrigger.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Media.StoryboardCompletedTrigger"/> class.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Core.TimerTrigger">
+            <summary>
+            A trigger that is triggered by a specified event occurring on its source and fires after a delay when that event is fired.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Core.TimerTrigger.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Expression.Interactivity.Core.TimerTrigger"/> class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.TimerTrigger.MillisecondsPerTick">
+            <summary>
+            Gets or sets the number of milliseconds to wait between ticks. This is a dependency property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Core.TimerTrigger.TotalTicks">
+            <summary>
+            Gets or sets the total number of ticks to be fired before the trigger is finished.  This is a dependency property.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Media.Effects.TransitionEffect">
+            <summary>
+            Defines a transition effect shader that transitions from one visual to another visual
+            using an interpolated value between 0 and 1.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.Effects.TransitionEffect.InputProperty">
+            <summary>
+            Brush-valued properties that turn into sampler-properties in the shader.
+            Represents the image present in the final state of the transition.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.Effects.TransitionEffect.OldImageProperty">
+            <summary>
+            Brush-valued properties that turn into sampler-properties in the shader.
+            Represents the image present in the initial state of the transition.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Expression.Media.Effects.TransitionEffect.ProgressProperty">
+            <summary>
+            A Dependency property as the backing store for Progress.
+            Also used to represent the state of a transition from start to finish (range between 0 and 1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.Effects.TransitionEffect.CloneCurrentValue">
+            <summary>
+            Creates a modifiable clone (deep copy) of the <see cref="T:TransitionEffect"/> using its current values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Media.Effects.TransitionEffect.DeepCopy">
+            <summary>
+            Makes a deep copy of the transition effect. Implements CloneCurrentValue in Silverlight.
+            </summary>
+            <returns>A clone of current instance of transition effect.</returns>
+        </member>
+        <member name="M:Microsoft.Expression.Media.Effects.TransitionEffect.#ctor">
+            <summary>
+            Updates the shader's variables to the default values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.Effects.TransitionEffect.Input">
+            <summary>
+            Gets or sets the Input variable within the shader.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.Effects.TransitionEffect.OldImage">
+            <summary>
+            Gets or sets the OldImage variable within the shader.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Media.Effects.TransitionEffect.Progress">
+            <summary>
+            Gets or sets the Progress variable within the shader.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior">
+            <summary>
+            Allows the user to use common touch gestures to translate, zoom, and rotate the attached object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.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:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.OnDetaching">
+            <summary>
+            Called when the behavior is getting detached from its AssociatedObject, but before it has actually occurred.
+            </summary>
+            <remarks>Override this to unhook functionality from the AssociatedObject.</remarks>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.SupportedGestures">
+            <summary>
+            Gets or sets a value specifying which zooming and translation variants to support.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.TranslateFriction">
+            <summary>
+            Gets or sets a number describing the rate at which the translation will decrease.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.RotationalFriction">
+            <summary>
+            Gets or sets a number describing the rate at which the rotation will decrease.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.ConstrainToParentBounds">
+            <summary>
+            Gets or sets the value indicating whether the zoom and translate position of the attached object is limited by the bounds of the parent object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.MinimumScale">
+            <summary>
+            Gets or sets a number indicating the minimum zoom value allowed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Expression.Interactivity.Input.TranslateZoomRotateBehavior.MaximumScale">
+            <summary>
+            Gets or sets a number indicating the maximum zoom value allowed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Expression.Interactivity.VisualStateUtilities">
+            <summary>
+            This class provides various platform agnostic standard operations for working with VisualStateManager.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.VisualStateUtilities.GoToState(System.Windows.FrameworkElement,System.String,System.Boolean)">
+            <summary>
+            Transitions the control between two states.
+            </summary>
+            <param name="element">The element to transition between states.</param>
+            <param name="stateName">The state to transition to.</param>
+            <param name="useTransitions">True to use a System.Windows.VisualTransition to transition between states; otherwise, false.</param>
+            <returns>True if the control successfully transitioned to the new state; otherwise, false.</returns>
+            <exception cref="T:System.ArgumentNullException">Control is null.</exception>
+            <exception cref="T:System.ArgumentNullException">StateName is null.</exception>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.VisualStateUtilities.GetVisualStateGroups(System.Windows.FrameworkElement)">
+            <summary>
+            Gets the value of the VisualStateManager.VisualStateGroups attached property.
+            </summary>
+            <param name="targetObject">The element from which to get the VisualStateManager.VisualStateGroups.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Expression.Interactivity.VisualStateUtilities.TryFindNearestStatefulControl(System.Windows.FrameworkElement,System.Windows.FrameworkElement@)">
+            <summary>
+            Find the nearest parent which contains visual states.
+            </summary>
+            <param name="contextElement">The element from which to find the nearest stateful control.</param>
+            <param name="resolvedControl">The nearest stateful control if True; else null.</param>
+            <returns>True if a parent contains visual states; else False.</returns>
+        </member>
+        <member name="T:ExceptionStringTable">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P: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:ExceptionStringTable.CallMethodActionValidMethodNotFoundExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Could not find method named &apos;{0}&apos; on object of type &apos;{1}&apos; that matches the expected signature..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionAmbiguousAdditionOperationExceptionMessage">
+            <summary>
+              Looks up a localized string similar to More than one potential addition operator was found on type &apos;{0}&apos;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionCannotAnimateTargetTypeExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot animate a property change on a type &apos;{0}&apos; Target. Property changes can only be animated on types derived from DependencyObject..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionCannotFindPropertyNameExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot find a property named &quot;{0}&quot; on type &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionCannotIncrementAnimatedPropertyChangeExceptionMessage">
+            <summary>
+              Looks up a localized string similar to The Increment property cannot be set to True if the Duration property is set..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionCannotIncrementWriteOnlyPropertyExceptionMessage">
+            <summary>
+              Looks up a localized string similar to The &apos;{0}&apos; property cannot be incremented because its value cannot be read..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionCannotSetValueExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot assign value of type &quot;{0}&quot; to property &quot;{1}&quot; of type &quot;{2}&quot;. The &quot;{1}&quot; property can be assigned only values of type &quot;{2}&quot;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ChangePropertyActionPropertyIsReadOnlyExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Property &quot;{0}&quot; defined by type &quot;{1}&quot; does not expose a set method and therefore cannot be modified..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.DataStateBehaviorStateNameNotFoundExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot find state named &apos;{0}&apos; on type &apos;{1}&apos;. Ensure that the state exists and that it can be accessed from this context..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.GoToStateActionTargetHasNoStateGroups">
+            <summary>
+              Looks up a localized string similar to Target {0} does not define any VisualStateGroups. .
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.InvalidLeftOperand">
+            <summary>
+              Looks up a localized string similar to LeftOperand of type &quot;{0}&quot; cannot be used with operator &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.InvalidOperands">
+            <summary>
+              Looks up a localized string similar to LeftOperand of type &quot;{1}&quot; and RightOperand of type &quot;{0}&quot; cannot be used with operator &quot;{2}&quot;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.InvalidRightOperand">
+            <summary>
+              Looks up a localized string similar to RightOperand of type &quot;{0}&quot; cannot be used with operator &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.UnsupportedRemoveTargetExceptionMessage">
+            <summary>
+              Looks up a localized string similar to The target of the RemoveElementAction is not supported..
+            </summary>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/Elysium.Theme.1.3/Microsoft.Windows.Shell.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/Elysium.Theme.1.3/Microsoft.Windows.Shell.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,647 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+  <assembly>
+    <name>Microsoft.Windows.Shell</name>
+  </assembly>
+  <members>
+    <member name="T:Microsoft.Windows.Shell.JumpItem">
+      <summary>Represents the base class for the <see cref="T:Microsoft.Windows.Shell.JumpPath" /> and <see cref="T:Microsoft.Windows.Shell.JumpTask" /> classes.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpItem.CustomCategory">
+      <summary>Gets or sets the name of the category the <see cref="T:Microsoft.Windows.Shell.JumpItem" /> is grouped with in the Windows 7 taskbar Jump List.</summary>
+      <returns>The name of the category the <see cref="T:Microsoft.Windows.Shell.JumpItem" /> is grouped with. The default is null.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpItemRejectionReason">
+      <summary>Describes why a <see cref="T:Microsoft.Windows.Shell.JumpItem" /> could not be added to the Jump List by the Windows shell.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.JumpItemRejectionReason.None">
+      <summary>The reason is not specified.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.JumpItemRejectionReason.InvalidItem">
+      <summary>The <see cref="T:Microsoft.Windows.Shell.JumpItem" /> references an invalid file path, or the operating system does not support Jump Lists.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.JumpItemRejectionReason.NoRegisteredHandler">
+      <summary>The application is not registered to handle the file name extension of the <see cref="T:Microsoft.Windows.Shell.JumpItem" />.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.JumpItemRejectionReason.RemovedByUser">
+      <summary>The item was previously in the Jump List but was removed by the user.</summary>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs">
+      <summary>Provides data for the <see cref="E:Microsoft.Windows.Shell.JumpList.JumpItemsRejected" /> event.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs" /> class.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs.#ctor(System.Collections.Generic.IList{Microsoft.Windows.Shell.JumpItem},System.Collections.Generic.IList{Microsoft.Windows.Shell.JumpItemRejectionReason})">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs" /> class that has the specified parameters.</summary>
+      <param name="rejectedItems">The list of Jump List items that could not be added to the Jump List by the Windows shell.</param>
+      <param name="reasons">The list of reasons why the rejected Jump List items could not be added to the Jump List.</param>
+      <exception cref="T:System.ArgumentException">The count of <paramref name="rejectedItems " />does not equal the count of rejection <paramref name="reasons" />.</exception>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs.RejectedItems">
+      <summary>Gets the list of Jump List items that could not be added to the Jump List by the Windows shell.</summary>
+      <returns>The list of Jump List items that could not be added to the Jump List by the Windows shell.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpItemsRejectedEventArgs.RejectionReasons">
+      <summary>Gets the list of reasons why the rejected Jump List items could not be added to the Jump List.</summary>
+      <returns>The list of reasons why the rejected Jump List items could not be added to the Jump List.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs">
+      <summary>Provides data for the <see cref="E:Microsoft.Windows.Shell.JumpList.JumpItemsRemovedByUser" /> event.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs" /> class.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs.#ctor(System.Collections.Generic.IList{Microsoft.Windows.Shell.JumpItem})">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs" /> class that has the specified parameters.</summary>
+      <param name="removedItems">The list of Jump List items that were removed by the user since <see cref="M:Microsoft.Windows.Shell.JumpList.Apply" /> was last called.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpItemsRemovedEventArgs.RemovedItems">
+      <summary>Gets the list of Jump List items that have been removed by the user since the <see cref="M:Microsoft.Windows.Shell.JumpList.Apply" /> method was last called.</summary>
+      <returns>The list of Jump List items that have been removed by the user since the <see cref="M:Microsoft.Windows.Shell.JumpList.Apply" /> method was last called.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpList">
+      <summary>Represents a list of items and tasks displayed as a menu on a Windows 7 taskbar button.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpList" /> class.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Windows.Shell.JumpItem},System.Boolean,System.Boolean)">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpList" /> class with the specified parameters.</summary>
+      <param name="items">The collection of <see cref="T:Microsoft.Windows.Shell.JumpItem" /> objects that are displayed in the Jump List.</param>
+      <param name="showFrequent">A value that indicates whether frequently used items are displayed in the Jump List.</param>
+      <param name="showRecent">A value that indicates whether recently used items are displayed in the Jump List.</param>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.AddToRecentCategory(Microsoft.Windows.Shell.JumpPath)">
+      <summary>Adds the specified jump path to the Recent category of the Jump List.</summary>
+      <param name="jumpPath">The <see cref="T:Microsoft.Windows.Shell.JumpPath" /> to add to the Jump List.</param>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.AddToRecentCategory(Microsoft.Windows.Shell.JumpTask)">
+      <summary>Adds the specified jump task to the Recent category of the Jump List.</summary>
+      <param name="jumpTask">The <see cref="T:Microsoft.Windows.Shell.JumpTask" /> to add to the Jump List.</param>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.AddToRecentCategory(System.String)">
+      <summary>Adds the specified item path to the Recent category of the Jump List.</summary>
+      <param name="itemPath">The path to add to the Jump List.</param>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.Apply">
+      <summary>Sends the <see cref="T:Microsoft.Windows.Shell.JumpList" /> to the Windows shell in its current state.</summary>
+      <exception cref="T:System.InvalidOperationException">The <see cref="T:Microsoft.Windows.Shell.JumpList" /> is not completely initialized.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.BeginInit">
+      <summary>Signals the start of the <see cref="T:Microsoft.Windows.Shell.JumpList" /> initialization.</summary>
+      <exception cref="T:System.InvalidOperationException">This call to <see cref="M:Microsoft.Windows.Shell.JumpList.BeginInit" /> is nested in a previous call to <see cref="M:Microsoft.Windows.Shell.JumpList.BeginInit" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.EndInit">
+      <summary>Signals the end of the <see cref="T:Microsoft.Windows.Shell.JumpList" /> initialization.</summary>
+      <exception cref="T:System.NotSupportedException">This call to <see cref="M:Microsoft.Windows.Shell.JumpList.EndInit" /> is not paired with a call to <see cref="M:Microsoft.Windows.Shell.JumpList.BeginInit" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.GetJumpList(System.Windows.Application)">
+      <summary>Returns the <see cref="T:Microsoft.Windows.Shell.JumpList" /> object associated with an application.</summary>
+      <returns>The <see cref="T:Microsoft.Windows.Shell.JumpList" /> object associated with the specified application.</returns>
+      <param name="application">The application associated with the <see cref="T:Microsoft.Windows.Shell.JumpList" />.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpList.JumpItems">
+      <summary>Gets the collection of <see cref="T:Microsoft.Windows.Shell.JumpItem" /> objects that are displayed in the Jump List.</summary>
+      <returns>The collection of <see cref="T:Microsoft.Windows.Shell.JumpItem" /> objects displayed in the Jump List. The default is an empty collection.</returns>
+    </member>
+    <member name="E:Microsoft.Windows.Shell.JumpList.JumpItemsRejected">
+      <summary>Occurs when jump items are not successfully added to the Jump List by the Windows shell.</summary>
+    </member>
+    <member name="E:Microsoft.Windows.Shell.JumpList.JumpItemsRemovedByUser">
+      <summary>Occurs when jump items previously in the Jump List are removed from the list by the user.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpList.SetJumpList(System.Windows.Application,Microsoft.Windows.Shell.JumpList)">
+      <summary>Sets the <see cref="T:Microsoft.Windows.Shell.JumpList" /> object associated with an application.</summary>
+      <param name="application">The application associated with the <see cref="T:Microsoft.Windows.Shell.JumpList" />.</param>
+      <param name="value">The <see cref="T:Microsoft.Windows.Shell.JumpList" /> to associate with the application.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpList.ShowFrequentCategory">
+      <summary>Gets or sets a value that indicates whether frequently used items are displayed in the Jump List.</summary>
+      <returns>true if frequently used items are displayed in the Jump List; otherwise, false. The default is false.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpList.ShowRecentCategory">
+      <summary>Gets or sets a value that indicates whether recently used items are displayed in the Jump List.</summary>
+      <returns>true if recently used items are displayed in the Jump List; otherwise, false. The default is false.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpPath">
+      <summary>Represents a link to a file that is displayed in a Windows 7 taskbar Jump List.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpPath.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpPath" /> class.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpPath.Path">
+      <summary>Gets or sets the path to the file to be included in the Jump List.</summary>
+      <returns>The path to the file to be included in the Jump List.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.JumpTask">
+      <summary>Represents a shortcut to an application in the Windows 7 taskbar Jump List.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.JumpTask.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.JumpTask" /> class.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.ApplicationPath">
+      <summary>Gets or sets the path to the application.</summary>
+      <returns>The path to the application. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.Arguments">
+      <summary>Gets or sets the arguments passed to the application on startup.</summary>
+      <returns>The arguments passed to the application on startup. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.Description">
+      <summary>Gets or sets the text displayed in the tooltip for the task in the Jump List.</summary>
+      <returns>The text displayed in the tooltip for the task. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.IconResourceIndex">
+      <summary>Gets or sets the zero-based index of an icon embedded in a resource.</summary>
+      <returns>The zero-based index of the icon, or -1 if no icon is used. The default is 0.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.IconResourcePath">
+      <summary>Gets or sets the path to a resource that contains the icon to display in the Jump List.</summary>
+      <returns>The path to a resource that contains the icon. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.Title">
+      <summary>Gets or sets the text displayed for the task in the Jump List.</summary>
+      <returns>The text displayed for the task in the Jump List. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.JumpTask.WorkingDirectory">
+      <summary>Gets or sets the working directory of the application on startup.</summary>
+      <returns>The working directory of the application on startup. The default is null.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.NonClientFrameEdges">
+      <summary>Specifies constants that indicate which edges of the window frame are not owned by the client.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.NonClientFrameEdges.None">
+      <summary>All edges are owned by the client (value = 0).</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.NonClientFrameEdges.Left">
+      <summary>The left edge is not owned by the client (value = 1).</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.NonClientFrameEdges.Top">
+      <summary>The top edge is not owned by the client (value = 2).</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.NonClientFrameEdges.Right">
+      <summary>The right edge is not owned by the client (value = 4).</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.NonClientFrameEdges.Bottom">
+      <summary>The bottom edge is not owned by the client (value = 8).</summary>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.ResizeGripDirection">
+      <summary>Specifies constants that indicate the direction of the resize grip behavior on an input element.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.None">
+      <summary>No resize behavior is specified.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.TopLeft">
+      <summary>The window resizes from its top-left corner.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.Top">
+      <summary>The window resizes from its top edge.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.TopRight">
+      <summary>The window resizes from its top-right corner.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.Right">
+      <summary>The window resizes from its right edge.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.BottomRight">
+      <summary>The window resizes from its bottom-right corner.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.Bottom">
+      <summary>The window resizes from its bottom edge.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.BottomLeft">
+      <summary>The window resizes from its bottom-left corner.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ResizeGripDirection.Left">
+      <summary>The windows resizes from its left edge.</summary>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.SystemCommands">
+      <summary>Defines routed commands that are common to window management.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.SystemCommands.CloseWindow(System.Windows.Window)">
+      <summary>Closes the specified window.</summary>
+      <param name="window">The window to close.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemCommands.CloseWindowCommand">
+      <summary>Gets a command that closes a window.</summary>
+      <returns>A command that closes a window.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.SystemCommands.MaximizeWindow(System.Windows.Window)">
+      <summary>Maximizes the specified window.</summary>
+      <param name="window">The window to maximize.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemCommands.MaximizeWindowCommand">
+      <summary>Gets a command that maximizes a window.</summary>
+      <returns>A command that maximizes a window.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.SystemCommands.MinimizeWindow(System.Windows.Window)">
+      <summary>Minimizes the specified window.</summary>
+      <param name="window">The window to minimize.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemCommands.MinimizeWindowCommand">
+      <summary>Gets a command that maximizes a window.</summary>
+      <returns>A command that maximizes a window.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.SystemCommands.RestoreWindow(System.Windows.Window)">
+      <summary>Restores the specified widow.</summary>
+      <param name="window">The window to restore.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemCommands.RestoreWindowCommand">
+      <summary>Gets a command that restores a window.</summary>
+      <returns>A command that restores a window.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.SystemCommands.ShowSystemMenu(System.Windows.Window,System.Windows.Point)">
+      <summary>Displays the system menu for the specified window.</summary>
+      <param name="window">The window to have its system menu displayed.</param>
+      <param name="screenLocation">The location of the system menu.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemCommands.ShowSystemMenuCommand">
+      <summary>Gets a command that displays the system menu.</summary>
+      <returns>A command that displays the system menu.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.SystemParameters2">
+      <summary>Contains properties that you can use to query system settings of the non-client area of a window.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.Current">
+      <summary>Gets an instance of the <see cref="T:Microsoft.Windows.Shell.SystemParameters2" /> class.</summary>
+      <returns>An instance of the <see cref="T:Microsoft.Windows.Shell.SystemParameters2" /> class.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.HighContrast">
+      <summary>Gets a value that indicates whether the high contrast feature is being used. </summary>
+      <returns>true if the high contrast feature is being used; otherwise, false.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.IsGlassEnabled">
+      <summary>Gets a value that indicates whether glass window frames are being used.</summary>
+      <returns>true if glass window frames are being used; otherwise, false.</returns>
+    </member>
+    <member name="E:Microsoft.Windows.Shell.SystemParameters2.PropertyChanged">
+      <summary>Occurs when one of the properties changes.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.SmallIconSize">
+      <summary>Gets the recommended size, in pixels, of a small icon. </summary>
+      <returns>The recommended size, in pixels, of a small icon. </returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.UxThemeColor">
+      <summary>Gets the color theme name.</summary>
+      <returns>The color theme name.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.UxThemeName">
+      <summary>Gets the theme name.</summary>
+      <returns>The theme name.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowCaptionButtonsLocation">
+      <summary>Gets a <see cref="T:System.Windows.Rect" /> that indicates the default location of the minimize, maximize, and close buttons.</summary>
+      <returns>An object that indicates the default location of the minimize, maximize, and close buttons.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowCaptionHeight">
+      <summary>Gets the height of the area that contains the minimize, maximize, and close buttons.</summary>
+      <returns>The height of the area that contains the minimize, maximize, and close buttons.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowCornerRadius">
+      <summary>Gets the degree to which the corners of a window are rounded.</summary>
+      <returns>The degree to which the corners of a window are rounded.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowGlassBrush">
+      <summary>Gets the brush that paints the glass window frame.</summary>
+      <returns>The brush that paints the glass window frame.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowGlassColor">
+      <summary>Gets the color that is used to paint the glass window frame.</summary>
+      <returns>The color that is used to paint the glass window frame.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowNonClientFrameThickness">
+      <summary>Gets the size of the non-client area of the window.</summary>
+      <returns>The size of the non-client area of the window, in device-independent pixels (1/96th of an inch).</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.SystemParameters2.WindowResizeBorderThickness">
+      <summary>Gets the size of the resizing border around the window.</summary>
+      <returns>The size of the resizing border around the window, in device-independent pixels (1/96th of an inch).</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.TaskbarItemInfo">
+      <summary>Represents information about how the taskbar thumbnail is displayed.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.TaskbarItemInfo.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.TaskbarItemInfo" /> class.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.Description">
+      <summary>Gets or sets the text for the taskbar item tooltip.</summary>
+      <returns>The text for the taskbar item tooltip. The default is an empty string.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.DescriptionProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.Description" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.Description" /> dependency property.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.TaskbarItemInfo.GetTaskbarItemInfo(System.Windows.Window)">
+      <summary>Gets the value of the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo" /> attached property for an object.</summary>
+      <returns>The object’s <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo" /> property value.</returns>
+      <param name="window">The object from which the property value is read.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.Overlay">
+      <summary>Gets or sets the image that is displayed over the program icon in the taskbar button.</summary>
+      <returns>The image that is displayed over the program icon in the taskbar button. The default is null.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.OverlayProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.Overlay" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.Overlay" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressState">
+      <summary>Gets or sets a value that indicates how the progress indicator is displayed in the taskbar button.</summary>
+      <returns>An enumeration value that indicates how the progress indicator is displayed in the taskbar button. The default is <see cref="F:Microsoft.Windows.Shell.TaskbarItemProgressState.None" />.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressStateProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressState" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressState" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressValue">
+      <summary>Gets or sets a value that indicates the fullness of the progress indicator in the taskbar button.</summary>
+      <returns>A value that indicates the fullness of the progress indicator in the taskbar button. The default is 0.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressValueProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressValue" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ProgressValue" /> dependency property.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.TaskbarItemInfo.SetTaskbarItemInfo(System.Windows.Window,Microsoft.Windows.Shell.TaskbarItemInfo)">
+      <summary>Sets the value of the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo" /> attached property for an object.</summary>
+      <param name="window">The object to which the attached property is written.</param>
+      <param name="value">The value to set.</param>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo">
+      <summary>Gets or sets a <see cref="T:Microsoft.Windows.Shell.TaskbarItemInfo" /> that is attached to a window.</summary>
+      <returns>The <see cref="T:Microsoft.Windows.Shell.TaskbarItemInfo" /> that is attached to the window.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfoProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.TaskbarItemInfo" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbButtonInfos">
+      <summary>Gets or sets the collection of <see cref="T:Microsoft.Windows.Shell.ThumbButtonInfo" /> objects that are associated with the <see cref="T:System.Windows.Window" />.</summary>
+      <returns>The collection of <see cref="T:Microsoft.Windows.Shell.ThumbButtonInfo" /> objects that are associated with the <see cref="T:System.Windows.Window" />. The default is an empty collection.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbButtonInfosProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbButtonInfos" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbButtonInfos" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbnailClipMargin">
+      <summary>Gets or sets a value that specifies the part of the application window's client area that is displayed in the taskbar thumbnail.</summary>
+      <returns>A value that specifies the part of the application window's client area that is displayed in the taskbar thumbnail. The default is an empty <see cref="T:System.Windows.Thickness" />.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbnailClipMarginProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbnailClipMargin" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.TaskbarItemInfo.ThumbnailClipMargin" /> dependency property.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.TaskbarItemProgressState">
+      <summary>Specifies the state of the progress indicator in the Windows taskbar.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemProgressState.None">
+      <summary>No progress indicator is displayed in the taskbar button.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemProgressState.Indeterminate">
+      <summary>A pulsing green indicator is displayed in the taskbar button.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemProgressState.Normal">
+      <summary>A green progress indicator is displayed in the taskbar button.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemProgressState.Error">
+      <summary>A red progress indicator is displayed in the taskbar button.</summary>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.TaskbarItemProgressState.Paused">
+      <summary>A yellow progress indicator is displayed in the taskbar button.</summary>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.ThumbButtonInfo">
+      <summary>Represents information about how to display a button in the Windows 7 taskbar thumbnail.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.ThumbButtonInfo.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.ThumbButtonInfo" /> class.</summary>
+    </member>
+    <member name="E:Microsoft.Windows.Shell.ThumbButtonInfo.Click">
+      <summary>Occurs when the thumbnail button is clicked.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.Command">
+      <summary>Gets or sets the command to invoke when this thumbnail button is clicked.</summary>
+      <returns>The command to invoke when this thumbnail button is clicked. The default is null.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandParameter">
+      <summary>Gets or sets the parameter to pass to the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Command" /> property.</summary>
+      <returns>The parameter to pass to the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Command" /> property. The default is null.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.CommandParameterProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandParameter" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandParameter" /> dependency property.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.CommandProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Command" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Command" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandTarget">
+      <summary>Gets or sets the element on which to raise the specified command.</summary>
+      <returns>The element on which to raise the specified command. The default is null.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.CommandTargetProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandTarget" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.CommandTarget" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.Description">
+      <summary>Gets or sets the text to display for the thumbnail button tooltip.</summary>
+      <returns>The text to display for the thumbnail button tooltip. The default is an empty string.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.DescriptionProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Description" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Description" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.DismissWhenClicked">
+      <summary>Gets or sets a value that indicates whether the taskbar thumbnail closes when the thumbnail button is clicked.</summary>
+      <returns>true if the thumbnail closes; otherwise, false. The default is false.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.DismissWhenClickedProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.DismissWhenClicked" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.DismissWhenClicked" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.ImageSource">
+      <summary>Gets or sets the image that is displayed on the thumbnail button.</summary>
+      <returns>The image that is displayed on the thumbnail button. The default is null.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.ImageSourceProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.ImageSource" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.ImageSource" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsBackgroundVisible">
+      <summary>Gets or sets a value that indicates whether a border and highlight is displayed around the thumbnail button.</summary>
+      <returns>true if a border and highlight is displayed around the thumbnail button; otherwise, false. The default is true.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.IsBackgroundVisibleProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsBackgroundVisible" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsBackgroundVisible" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsEnabled">
+      <summary>Gets or sets a value that indicates whether the thumbnail button is enabled.</summary>
+      <returns>true if the thumbnail button is enabled; otherwise, false. The default is true.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.IsEnabledProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsEnabled" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsEnabled" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsInteractive">
+      <summary>Gets or sets a value that indicates whether the user can interact with the thumbnail button.</summary>
+      <returns>true if the user can interact with the thumbnail button; otherwise, false. The default is true.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.IsInteractiveProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsInteractive" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.IsInteractive" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.ThumbButtonInfo.Visibility">
+      <summary>Gets or sets a value that specifies the display state of the thumbnail button.</summary>
+      <returns>An enumeration value that specifies the display state of the thumbnail button. The default is <see cref="F:System.Windows.Visibility.Visible" />.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.ThumbButtonInfo.VisibilityProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Visibility" /> dependency property. </summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.ThumbButtonInfo.Visibility" /> dependency property.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.ThumbButtonInfoCollection">
+      <summary>Represents a collection of <see cref="T:Microsoft.Windows.Shell.ThumbButtonInfo" /> objects that are associated with a <see cref="T:System.Windows.Window" />.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.ThumbButtonInfoCollection.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.ThumbButtonInfoCollection" /> class.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.ThumbButtonInfoCollection.CreateInstanceCore">
+      <summary>Creates a new instance of the collection.</summary>
+      <returns>The new instance of the collection.</returns>
+    </member>
+    <member name="T:Microsoft.Windows.Shell.WindowChrome">
+      <summary>Represents an object that describes the customizations to the non-client area of a window.</summary>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.#ctor">
+      <summary>Initializes a new instance of the <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> class.</summary>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.CaptionHeight">
+      <summary>Gets or sets the height of the caption area at the top of a window.</summary>
+      <returns>The height of the caption area.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.CaptionHeightProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.CaptionHeight" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.CaptionHeight" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.CornerRadius">
+      <summary>Gets or sets a value that indicates the amount that the corners of a window are rounded.</summary>
+      <returns>A value that describes the amount that corners are rounded.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.CornerRadiusProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.CornerRadius" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.CornerRadius" /> dependency property.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.CreateInstanceCore">
+      <summary>Creates a new instance of the <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> class.</summary>
+      <returns>The new instance of this class.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.GetIsHitTestVisibleInChrome(System.Windows.IInputElement)">
+      <summary>Gets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> attached property from the specified input element.</summary>
+      <returns>The value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> attached property.</returns>
+      <param name="inputElement">The input element from which to read the property value.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="inputElement" /> is null.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="inputElement" /> is not a <see cref="T:System.Windows.DependencyObject" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.GetResizeGripDirection(System.Windows.IInputElement)">
+      <summary>Gets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> attached property from the specified input element.</summary>
+      <returns>The value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> attached property.</returns>
+      <param name="inputElement">The input element from which to read the property value.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="inputElement" /> is null.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="inputElement" /> is not a <see cref="T:System.Windows.DependencyObject" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.GetWindowChrome(System.Windows.Window)">
+      <summary>Gets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome" /> attached property from the specified <see cref="T:System.Windows.Window" />.</summary>
+      <returns>The instance of <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> that is attached to the specified <see cref="T:System.Windows.Window" />.</returns>
+      <param name="window">The <see cref="T:System.Windows.Window" /> from which to read the property value.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="window" /> is null.</exception>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.GlassFrameCompleteThickness">
+      <summary>Gets a uniform thickness of -1.</summary>
+      <returns>A uniform thickness of -1 in all cases.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.GlassFrameThickness">
+      <summary>Gets or sets a value that indicates the width of the glass border around a window.</summary>
+      <returns>The width of the glass border around a window.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.GlassFrameThicknessProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.GlassFrameThickness" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.GlassFrameThickness" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome">
+      <summary>Gets or sets a value that indicates whether WPF hit-testing is enabled on the part of an element that is in the non-client area of a window.</summary>
+      <returns>true if hit testing is enabled in the non-client area; otherwise, false. The registered default is false. For more information about what can influence the value, see Dependency Property Value Precedence.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChromeProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.NonClientFrameEdges">
+      <summary>Gets or sets a value that indicates which edges of the window frame are not owned by the client.</summary>
+      <returns>A bitwise combination of the enumeration values that specify which edges of the frame are not owned by the client.The registered default is <see cref="F:Microsoft.Windows.Shell.NonClientFrameEdges.None" />. For more information about what can influence the value, see Dependency Property Value Precedence.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.NonClientFrameEdgesProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.NonClientFrameEdges" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.NonClientFrameEdges" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.ResizeBorderThickness">
+      <summary>Gets or sets a value that indicates the width of the border that is used to resize a window.</summary>
+      <returns>The width of the border that is used to resize a window.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.ResizeBorderThicknessProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeBorderThickness" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeBorderThickness" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection">
+      <summary>Gets or sets a value that indicates the direction of the resize grip behavior on an input element.</summary>
+      <returns>One of the enumeration values that indicates the direction of the resize grip. The registered default is <see cref="F:Microsoft.Windows.Shell.ResizeGripDirection.None" />. For more information about what can influence the value, see Dependency Property Value Precedence.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirectionProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> dependency property.</returns>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.SetIsHitTestVisibleInChrome(System.Windows.IInputElement,System.Boolean)">
+      <summary>Sets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> attached property on the specified input element.</summary>
+      <param name="inputElement">The element on which to set the <see cref="P:Microsoft.Windows.Shell.WindowChrome.IsHitTestVisibleInChrome" /> attached property.</param>
+      <param name="hitTestVisible">The property value to set.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="inputElement" /> is null.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="inputElement" /> is not a <see cref="T:System.Windows.DependencyObject" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.SetResizeGripDirection(System.Windows.IInputElement,Microsoft.Windows.Shell.ResizeGripDirection)">
+      <summary>Sets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> attached property on the specified input element.</summary>
+      <param name="inputElement">The element on which to set the <see cref="P:Microsoft.Windows.Shell.WindowChrome.ResizeGripDirection" /> attached property.</param>
+      <param name="direction">The property value to set.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="inputElement" /> is null.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="inputElement" /> is not a <see cref="T:System.Windows.DependencyObject" />.</exception>
+    </member>
+    <member name="M:Microsoft.Windows.Shell.WindowChrome.SetWindowChrome(System.Windows.Window,Microsoft.Windows.Shell.WindowChrome)">
+      <summary>Sets the value of the <see cref="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome" /> attached property on the specified <see cref="T:System.Windows.Window" />.</summary>
+      <param name="window">The <see cref="T:System.Windows.Window" /> on which to set the <see cref="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome" /> attached property.</param>
+      <param name="chrome">The instance of <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> to set.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="window" /> is null.</exception>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.UseAeroCaptionButtons">
+      <summary>Gets or sets a value that indicates whether the Windows Aero caption buttons are shown.</summary>
+      <returns>The registered default is true. For more information about what can influence the value, see Dependency Property Value Precedence.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.UseAeroCaptionButtonsProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.UseAeroCaptionButtons" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.UseAeroCaptionButtons" /> dependency property.</returns>
+    </member>
+    <member name="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome">
+      <summary>Gets or sets the instance of <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> that is attached to a window.</summary>
+      <returns>The instance of <see cref="T:Microsoft.Windows.Shell.WindowChrome" /> attached to window. The registered default is null. For more information about what can influence the value, see Dependency Property Value Precedence.</returns>
+    </member>
+    <member name="F:Microsoft.Windows.Shell.WindowChrome.WindowChromeProperty">
+      <summary>Identifies the <see cref="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome" /> dependency property.</summary>
+      <returns>The identifier for the <see cref="P:Microsoft.Windows.Shell.WindowChrome.WindowChrome" /> dependency property.</returns>
+    </member>
+  </members>
+</doc>
\ No newline at end of file
Binary file Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.dll has changed
Binary file Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.resources.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/Elysium.Theme.1.3/System.Windows.Interactivity.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,1072 @@
+<?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="M:System.Windows.Interactivity.BehaviorCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the BehaviorCollection.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="F:System.Windows.Interactivity.CustomPropertyValueEditor.ElementBinding">
+            <summary>
+            Uses the element-binding picker, if supported, to edit this property at design time.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.PropertyBinding">
+            <summary>
+            Uses the property-binding 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="M:System.Windows.Interactivity.DependencyObjectHelper.GetSelfAndAncestors(System.Windows.DependencyObject)">
+            <summary>
+            This method will use the VisualTreeHelper.GetParent method to do a depth first walk up 
+            the visual tree and return all ancestors of the specified object, including the object itself.
+            </summary>
+            <param name="dependencyObject">The object in the visual tree to find ancestors of.</param>
+            <returns>Returns itself an all ancestors in the visual tree.</returns>
+        </member>
+        <member name="T:System.Windows.Interactivity.EventObserver">
+            <summary>
+            EventObserver is designed to help manage event handlers by detatching when disposed. Creating this object will also attach in the constructor.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Interactivity.EventObserver.#ctor(System.Reflection.EventInfo,System.Object,System.Delegate)">
+            <summary>
+            Creates an instance of EventObserver and attaches to the supplied event on the supplied target. Call dispose to detach.
+            </summary>
+            <param name="eventInfo">The event to attach and detach from.</param>
+            <param name="target">The target object the event is defined on. Null if the method is static.</param>
+            <param name="handler">The delegate to attach to the event.</param>
+        </member>
+        <member name="M:System.Windows.Interactivity.EventObserver.Dispose">
+            <summary>
+            Detaches the handler from the event.
+            </summary>
+        </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 object 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 object 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 object 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.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the TriggerBase derived class.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="E:System.Windows.Interactivity.TriggerBase.PreviewInvoke">
+            <summary>
+            Event handler for registering to PreviewInvoke.
+            </summary>
+        </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.Object,System.Object)">
+            <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.SourceObject">
+            <summary>
+            Gets or sets the target object. If TargetObject is not set, the target will look for the object specified by TargetName. If an element referred to by TargetName cannot be found, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The target object.</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 not set 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 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>
+            <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>
+            <remarks>
+            This property is not exposed publicly. This forces clients to use the GetTriggers and SetTriggers methods to access the
+            collection, ensuring the collection exists and is set before it is used.
+            </remarks>
+        </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>
+            <remarks>
+            This property is not exposed publicly. This forces clients to use the GetBehaviors and SetBehaviors methods to access the
+            collection, ensuring the collection exists and is set before it is used.
+            </remarks>
+        </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 this property is not available in Silverlight.
+            </summary>
+            <param name="element">The element of interest.</param>
+            <returns>True if the element has been loaded; otherwise, False.</returns>
+        </member>
+        <member name="P:System.Windows.Interactivity.Interaction.ShouldRunInDesignMode">
+            <summary>
+            Gets or sets a value indicating whether to run as if in design mode.
+            </summary>
+            <value>
+            	<c>True</c> if [should run in design mode]; otherwise, <c>False</c>.
+            </value>
+            <remarks>Not to be used outside unit tests.</remarks>
+        </member>
+        <member name="T:System.Windows.Interactivity.InvokeCommandAction">
+            <summary>
+            Executes a specified ICommand 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.CreateInstanceCore">
+            <summary>
+            When implemented in a derived class, creates a new instance of the <see cref="T:System.Windows.Freezable"/> derived class.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="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>
+            <remarks>This property will be superseded by the Command property if both are set.</remarks>
+        </member>
+        <member name="P:System.Windows.Interactivity.InvokeCommandAction.Command">
+            <summary>
+            Gets or sets the command this action should invoke. This is a dependency property.
+            </summary>
+            <value>The command to execute.</value>
+            <remarks>This property will take precedence over the CommandName property if both are set.</remarks>
+        </member>
+        <member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandParameter">
+            <summary>
+            Gets or sets the command parameter. This is a dependency property.
+            </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 the 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 if 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.Object,System.Object)">
+            <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.TargetObject">
+            <summary>
+            Gets or sets the target object. If TargetObject is not set, the target will look for the object specified by TargetName. If an element referred to by TargetName cannot be found, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The target object.</value>
+        </member>
+        <member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetName">
+            <summary>
+            Gets or sets the name of the object this action targets. If Target is set, this property is ignored. If Target is not set and TargetName is not set or cannot be resolved, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The name of the target object.</value>
+        </member>
+        <member name="P:System.Windows.Interactivity.TargetedTriggerAction.Target">
+            <summary>
+            Gets the target object. If TargetObject is set, returns TargetObject. Else, if TargetName is not set or cannot be resolved, defaults to the AssociatedObject.
+            </summary>
+            <value>The target object.</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 not set 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="M:System.Windows.Interactivity.TriggerActionCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the TriggerActionCollection.
+            </summary>
+            <returns>The new instance.</returns>
+        </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.PreviewInvokeEventArgs">
+            <summary>
+            Argument passed to PreviewInvoke event. Assigning Cancelling to True will cancel the invoking of the trigger.
+            </summary>
+            <remarks>This is an infrastructure class. Behavior attached to a trigger base object can add its behavior as a listener to TriggerBase.PreviewInvoke.</remarks>
+        </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="M:System.Windows.Interactivity.TriggerCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the <see cref="T:System.Windows.Interactivity.TriggerCollection"/>.
+            </summary>
+            <returns>The new instance.</returns>
+        </member>
+        <member name="T:System.Windows.Interactivity.TypeConstraintAttribute">
+            <summary>
+            Specifies 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:ExceptionStringTable">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P: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:ExceptionStringTable.CannotHostBehaviorCollectionMultipleTimesExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot set the same BehaviorCollection on multiple objects..
+            </summary>
+        </member>
+        <member name="P: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: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:ExceptionStringTable.CannotHostTriggerCollectionMultipleTimesExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot set the same TriggerCollection on multiple objects..
+            </summary>
+        </member>
+        <member name="P: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: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: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: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:ExceptionStringTable.EventTriggerBaseInvalidEventExceptionMessage">
+            <summary>
+              Looks up a localized string similar to The event &quot;{0}&quot; on type &quot;{1}&quot; has an incompatible signature. Make sure the event is public and satisfies the EventHandler delegate..
+            </summary>
+        </member>
+        <member name="P: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: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: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:ExceptionStringTable.UnableToResolveTargetNameWarningMessage">
+            <summary>
+              Looks up a localized string similar to Unable to resolve TargetName &quot;{0}&quot;..
+            </summary>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.Extras.WPF4.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.Extras.WPF4.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,416 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>GalaSoft.MvvmLight.Extras.WPF4</name>
+    </assembly>
+    <members>
+        <member name="T:GalaSoft.MvvmLight.Converters.UniversalConverter">
+            <summary>
+            Implements a universal converter able to take a lambda expression (as the parameter)
+            and to run this expression dynamically at runtime to convert the value.
+            Usage: Store an instance of UniversalConverter into the application's resources
+            and use this instance in XAML, for example with:
+            {Binding MyProperty,
+                     Converter={StaticResource UniversalConverter},
+                     ConverterParameter='b=>!b'}
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Converters.UniversalConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
+            <summary>
+            Converts a value into another using an expression (lambda) passed as a string
+            and evaluated at runtime.
+            The process is optimized and already created expression cached for further use.
+            </summary>
+            <param name="value">The value to be converted.</param>
+            <param name="targetType">This parameter
+            is not used.</param>
+            <param name="parameter">The lambda expression to be evaluated at runtime,
+            expressed as a string. For example expressions such as 'b=>!b' or
+            'myValue=>myValue?Visibility.Visible:Visibility.Collapsed' (or more
+            complex expressions) can be used.</param>
+            <param name="culture">This parameter is not used.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Converters.UniversalConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
+            <summary>
+            This method is not implemented.
+            </summary>
+            <param name="value">Unused parameter.</param>
+            <param name="targetType">Unused parameter.</param>
+            <param name="parameter">Unused parameter.</param>
+            <param name="culture">Unused parameter.</param>
+            <returns>This method is not implemented.</returns>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Command.EventToCommand">
+            <summary>
+            This <see cref="T:System.Windows.Interactivity.TriggerAction"/> can be
+            used to bind any event on any FrameworkElement to an <see cref="T:System.Windows.Input.ICommand"/>.
+            Typically, this element is used in XAML to connect the attached element
+            to a command located in a ViewModel. This trigger can only be attached
+            to a FrameworkElement or a class deriving from FrameworkElement.
+            <para>To access the EventArgs of the fired event, use a RelayCommand&lt;EventArgs&gt;
+            and leave the CommandParameter and CommandParameterValue empty!</para>
+            </summary>
+        </member>
+        <member name="F:GalaSoft.MvvmLight.Command.EventToCommand.CommandParameterProperty">
+            <summary>
+            Identifies the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.CommandParameter"/> dependency property
+            </summary>
+        </member>
+        <member name="F:GalaSoft.MvvmLight.Command.EventToCommand.CommandProperty">
+            <summary>
+            Identifies the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.Command"/> dependency property
+            </summary>
+        </member>
+        <member name="F:GalaSoft.MvvmLight.Command.EventToCommand.MustToggleIsEnabledProperty">
+            <summary>
+            Identifies the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.MustToggleIsEnabled"/> dependency property
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.EventToCommand.OnAttached">
+            <summary>
+            Called when this trigger is attached to a FrameworkElement.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.EventToCommand.GetAssociatedObject">
+            <summary>
+            This method is here for compatibility
+            with the Silverlight version.
+            </summary>
+            <returns>The FrameworkElement to which this trigger
+            is attached.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.EventToCommand.GetCommand">
+            <summary>
+            This method is here for compatibility
+            with the Silverlight 3 version.
+            </summary>
+            <returns>The command that must be executed when
+            this trigger is invoked.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.EventToCommand.Invoke">
+            <summary>
+            Provides a simple way to invoke this trigger programatically
+            without any EventArgs.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.EventToCommand.Invoke(System.Object)">
+            <summary>
+            Executes the trigger.
+            <para>To access the EventArgs of the fired event, use a RelayCommand&lt;EventArgs&gt;
+            and leave the CommandParameter and CommandParameterValue empty!</para>
+            </summary>
+            <param name="parameter">The EventArgs of the fired event.</param>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.Command">
+            <summary>
+            Gets or sets the ICommand that this trigger is bound to. This
+            is a DependencyProperty.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.CommandParameter">
+            <summary>
+            Gets or sets an object that will be passed to the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.Command"/>
+            attached to this trigger. This is a DependencyProperty.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.CommandParameterValue">
+            <summary>
+            Gets or sets an object that will be passed to the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.Command"/>
+            attached to this trigger. This property is here for compatibility
+            with the Silverlight version. This is NOT a DependencyProperty.
+            For databinding, use the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.CommandParameter"/> property.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.MustToggleIsEnabled">
+            <summary>
+            Gets or sets a value indicating whether the attached element must be
+            disabled when the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.Command"/> property's CanExecuteChanged
+            event fires. If this property is true, and the command's CanExecute 
+            method returns false, the element will be disabled. If this property
+            is false, the element will not be disabled when the command's
+            CanExecute method changes. This is a DependencyProperty.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.MustToggleIsEnabledValue">
+            <summary>
+            Gets or sets a value indicating whether the attached element must be
+            disabled when the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.Command"/> property's CanExecuteChanged
+            event fires. If this property is true, and the command's CanExecute 
+            method returns false, the element will be disabled. This property is here for
+            compatibility with the Silverlight version. This is NOT a DependencyProperty.
+            For databinding, use the <see cref="P:GalaSoft.MvvmLight.Command.EventToCommand.MustToggleIsEnabled"/> property.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Command.EventToCommand.PassEventArgsToCommand">
+            <summary>
+            Specifies whether the EventArgs of the event that triggered this
+            action should be passed to the bound RelayCommand. If this is true,
+            the command should accept arguments of the corresponding
+            type (for example RelayCommand&lt;MouseButtonEventArgs&gt;).
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Ioc.ISimpleIoc">
+            <summary>
+            A very simple IOC container with basic functionality needed to register and resolve
+            instances. If needed, this class can be replaced by another more elaborate
+            IOC container implementing the IServiceLocator interface.
+            The inspiration for this class is at https://gist.github.com/716137 but it has
+            been extended with additional features.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Contains``1">
+            <summary>
+            Checks whether at least one instance of a given class is already created in the container.
+            </summary>
+            <typeparam name="TClass">The class that is queried.</typeparam>
+            <returns>True if at least on instance of the class is already created, false otherwise.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Contains``1(System.String)">
+            <summary>
+            Checks whether the instance with the given key is already created for a given class
+            in the container.
+            </summary>
+            <typeparam name="TClass">The class that is queried.</typeparam>
+            <param name="key">The key that is queried.</param>
+            <returns>True if the instance with the given key is already registered for the given class,
+            false otherwise.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Register``2">
+            <summary>
+            Registers a given type for a given interface.
+            </summary>
+            <typeparam name="TInterface">The interface for which instances will be resolved.</typeparam>
+            <typeparam name="TClass">The type that must be used to create instances.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Register``1">
+            <summary>
+            Registers a given type.
+            </summary>
+            <typeparam name="TClass">The type that must be used to create instances.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Register``1(``0)">
+            <summary>
+            Registers a given instance for a given type.
+            </summary>
+            <typeparam name="TClass">The type that is being registered.</typeparam>
+            <param name="instance">The instance that must be returned when the given type
+            is resolved.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Register``1(``0,System.String)">
+            <summary>
+            Registers a given instance for a given type and a given key.
+            </summary>
+            <typeparam name="TClass">The type that is being registered.</typeparam>
+            <param name="instance">The instance that must be returned when the given type
+            and the given key are resolved.</param>
+            <param name="key">The key for which the given instance is registered.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Reset">
+            <summary>
+            Resets the instance in its original states. This deletes all the
+            registrations.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Unregister``1">
+            <summary>
+            Unregisters a class from the cache and removes all the previously
+            created instances.
+            </summary>
+            <typeparam name="TClass">The class that must be removed.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Unregister``1(``0)">
+            <summary>
+            Removes the given instance from the cache. The class itself remains
+            registered and can be used to create other instances.
+            </summary>
+            <typeparam name="TClass">The type of the instance to be removed.</typeparam>
+            <param name="instance">The instance that must be removed.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.ISimpleIoc.Unregister``1(System.String)">
+            <summary>
+            Removes the instance corresponding to the given key from the cache. The class itself remains
+            registered and can be used to create other instances.
+            </summary>
+            <typeparam name="TClass">The type of the instance to be removed.</typeparam>
+            <param name="key">The key corresponding to the instance that must be removed.</param>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Ioc.PreferredConstructorAttribute">
+            <summary>
+            When used with the SimpleIoc container, specifies which constructor
+            should be used to instantiate when GetInstance is called.
+            If there is only one constructor in the class, this attribute is
+            not needed.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Ioc.SimpleIoc">
+            <summary>
+            A very simple IOC container with basic functionality needed to register and resolve
+            instances. If needed, this class can be replaced by another more elaborate
+            IOC container implementing the IServiceLocator interface.
+            The inspiration for this class is at https://gist.github.com/716137 but it has
+            been extended with additional features.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Contains``1">
+            <summary>
+            Checks whether at least one instance of a given class is already created in the container.
+            </summary>
+            <typeparam name="TClass">The class that is queried.</typeparam>
+            <returns>True if at least on instance of the class is already created, false otherwise.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Contains``1(System.String)">
+            <summary>
+            Checks whether the instance with the given key is already created for a given class
+            in the container.
+            </summary>
+            <typeparam name="TClass">The class that is queried.</typeparam>
+            <param name="key">The key that is queried.</param>
+            <returns>True if the instance with the given key is already registered for the given class,
+            false otherwise.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Register``2">
+            <summary>
+            Registers a given type for a given interface.
+            </summary>
+            <typeparam name="TInterface">The interface for which instances will be resolved.</typeparam>
+            <typeparam name="TClass">The type that must be used to create instances.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Register``1">
+            <summary>
+            Registers a given type.
+            </summary>
+            <typeparam name="TClass">The type that must be used to create instances.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Register``1(System.Func{``0})">
+            <summary>
+            Registers a given instance for a given type.
+            </summary>
+            <typeparam name="TClass">The type that is being registered.</typeparam>
+            <param name="factory">The factory method able to create the instance that
+            must be returned when the given type is resolved.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Register``1(System.Func{``0},System.String)">
+            <summary>
+            Registers a given instance for a given type and a given key.
+            </summary>
+            <typeparam name="TClass">The type that is being registered.</typeparam>
+            <param name="factory">The factory method able to create the instance that
+            must be returned when the given type is resolved.</param>
+            <param name="key">The key for which the given instance is registered.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Reset">
+            <summary>
+            Resets the instance in its original states. This deletes all the
+            registrations.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Unregister``1">
+            <summary>
+            Unregisters a class from the cache and removes all the previously
+            created instances.
+            </summary>
+            <typeparam name="TClass">The class that must be removed.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Unregister``1(``0)">
+            <summary>
+            Removes the given instance from the cache. The class itself remains
+            registered and can be used to create other instances.
+            </summary>
+            <typeparam name="TClass">The type of the instance to be removed.</typeparam>
+            <param name="instance">The instance that must be removed.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.Unregister``1(System.String)">
+            <summary>
+            Removes the instance corresponding to the given key from the cache. The class itself remains
+            registered and can be used to create other instances.
+            </summary>
+            <typeparam name="TClass">The type of the instance to be removed.</typeparam>
+            <param name="key">The key corresponding to the instance that must be removed.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetService(System.Type)">
+            <summary>
+            Gets the service object of the specified type.
+            </summary>
+            <returns>
+            A service object of type <paramref name="serviceType"/>.
+            -or- 
+            null if there is no service object of type <paramref name="serviceType"/>.
+            </returns>
+            <param name="serviceType">An object that specifies the type of service object to get.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetAllInstances(System.Type)">
+            <summary>
+            Provides a way to get all the instances of a given type available in the
+            cache.
+            </summary>
+            <param name="serviceType">The class of which all instances
+            must be returned.</param>
+            <returns>All the instances of the given type.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetAllInstances``1">
+            <summary>
+            Provides a way to get all the instances of a given type available in the
+            cache.
+            </summary>
+            <typeparam name="TService">The class of which all instances
+            must be returned.</typeparam>
+            <returns>All the instances of the given type.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetInstance(System.Type)">
+            <summary>
+            Provides a way to get an instance of a given type. If no instance had been instantiated 
+            before, a new instance will be created. If an instance had already
+            been created, that same instance will be returned.
+            <remarks>If the class has not been registered before, this method
+            returns null!</remarks>
+            </summary>
+            <param name="serviceType">The class of which an instance
+            must be returned.</param>
+            <returns>An instance of the given type.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetInstance(System.Type,System.String)">
+            <summary>
+            Provides a way to get an instance of a given type corresponding
+            to a given key. If no instance had been instantiated with this
+            key before, a new instance will be created. If an instance had already
+            been created with the same key, that same instance will be returned.
+            <remarks>If the class has not been registered before, this method
+            returns null!</remarks>
+            </summary>
+            <param name="serviceType">The class of which an instance must be returned.</param>
+            <param name="key">The key uniquely identifying this instance.</param>
+            <returns>An instance corresponding to the given type and key.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetInstance``1">
+            <summary>
+            Provides a way to get an instance of a given type. If no instance had been instantiated 
+            before, a new instance will be created. If an instance had already
+            been created, that same instance will be returned.
+            <remarks>If the class has not been registered before, this method
+            returns null!</remarks>
+            </summary>
+            <typeparam name="TService">The class of which an instance
+            must be returned.</typeparam>
+            <returns>An instance of the given type.</returns>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Ioc.SimpleIoc.GetInstance``1(System.String)">
+            <summary>
+            Provides a way to get an instance of a given type corresponding
+            to a given key. If no instance had been instantiated with this
+            key before, a new instance will be created. If an instance had already
+            been created with the same key, that same instance will be returned.
+            <remarks>If the class has not been registered before, this method
+            returns null!</remarks>
+            </summary>
+            <typeparam name="TService">The class of which an instance must be returned.</typeparam>
+            <param name="key">The key uniquely identifying this instance.</param>
+            <returns>An instance corresponding to the given type and key.</returns>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Ioc.SimpleIoc.Default">
+            <summary>
+            This class' default instance.
+            </summary>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.WPF4.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/MvvmLight.4.0/GalaSoft.MvvmLight.WPF4.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,1332 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>GalaSoft.MvvmLight.WPF4</name>
+    </assembly>
+    <members>
+        <member name="T:GalaSoft.MvvmLight.Messaging.Messenger">
+            <summary>
+            The Messenger is a class allowing objects to exchange messages.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.IMessenger">
+            <summary>
+            The Messenger is a class allowing objects to exchange messages.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Register``1(System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Register``1(System.Object,System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Register``1(System.Object,System.Object,System.Boolean,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Register``1(System.Object,System.Boolean,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Send``1(``0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Send``2(``0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Send``1(``0,System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Unregister(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Unregister``1(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Unregister``1(System.Object,System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Unregister``1(System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.IMessenger.Unregister``1(System.Object,System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Register``1(System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Register``1(System.Object,System.Boolean,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Register``1(System.Object,System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Register``1(System.Object,System.Object,System.Boolean,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Send``1(``0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Send``2(``0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Send``1(``0,System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Unregister(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Unregister``1(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Unregister``1(System.Object,System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Unregister``1(System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Unregister``1(System.Object,System.Object,System.Action{``0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.OverrideDefault(GalaSoft.MvvmLight.Messaging.Messenger)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.Messenger.Reset">
+            <summary>
+            Sets the Messenger's default (static) instance to null.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.Messenger.Default">
+            <summary>
+            Gets the Messenger's default instance, allowing
+            to register and send messages in a static manner.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Helpers.IExecuteWithObject">
+            <summary>
+            This interface is meant for the <see cref="T:GalaSoft.MvvmLight.Helpers.WeakAction`1"/> class and can be 
+            useful if you store multiple WeakAction{T} instances but don't know in advance
+            what type T represents.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.IExecuteWithObject.ExecuteWithObject(System.Object)">
+            <summary>
+            Executes an action.
+            </summary>
+            <param name="parameter">A parameter passed as an object,
+            to be casted to the appropriate type.</param>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Command.RelayCommand">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand.#ctor(System.Action)">
+            <summary>
+            Initializes a new instance of the RelayCommand class that 
+            can always execute.
+            </summary>
+            <param name="execute">The execution logic.</param>
+            <exception cref="T:System.ArgumentNullException">If the execute argument is null.</exception>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand.#ctor(System.Action,System.Func{System.Boolean})">
+            <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="T:System.ArgumentNullException">If the execute argument is null.</exception>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand.RaiseCanExecuteChanged">
+            <summary>
+            Raises the <see cref="E:GalaSoft.MvvmLight.Command.RelayCommand.CanExecuteChanged"/> event.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand.CanExecute(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand.Execute(System.Object)">
+            <summary>
+            Defines the method to be called when the command is invoked. 
+            </summary>
+            <param name="parameter">This parameter will always be ignored.</param>
+        </member>
+        <member name="E:GalaSoft.MvvmLight.Command.RelayCommand.CanExecuteChanged">
+            <summary>
+            Occurs when changes occur that affect whether the command should execute.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Threading.DispatcherHelper">
+            <summary>
+            Helper class for dispatcher operations on the UI thread.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(System.Action)">
+            <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="P:GalaSoft.MvvmLight.Threading.DispatcherHelper.UIDispatcher"/></para>.
+            </summary>
+            <param name="action">The action that will be executed on the UI
+            thread.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Threading.DispatcherHelper.Initialize">
+            <summary>
+            This method should be called once on the UI thread to ensure that
+            the <see cref="P:GalaSoft.MvvmLight.Threading.DispatcherHelper.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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Threading.DispatcherHelper.UIDispatcher">
+            <summary>
+            Gets a reference to the UI thread's dispatcher, after the
+            <see cref="M:GalaSoft.MvvmLight.Threading.DispatcherHelper.Initialize"/> method has been called on the UI thread.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.ICleanup">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ICleanup.Cleanup">
+            <summary>
+            Cleans up the instance, for example by saving its state,
+            removing resources, etc...
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.NotificationMessage">
+            <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>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.MessageBase">
+            <summary>
+            Base class for all messages broadcasted by the Messenger.
+            You can create your own message types by extending this class.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.MessageBase.#ctor">
+            <summary>
+            Initializes a new instance of the MessageBase class.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.MessageBase.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the MessageBase class.
+            </summary>
+            <param name="sender">The message's original sender.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.MessageBase.#ctor(System.Object,System.Object)">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.MessageBase.Sender">
+            <summary>
+            Gets or sets the message's sender.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.MessageBase.Target">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage.#ctor(System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage.#ctor(System.Object,System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage.#ctor(System.Object,System.Object,System.String)">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.NotificationMessage.Notification">
+            <summary>
+            Gets a string containing any arbitrary message to be
+            passed to recipient(s).
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase">
+            <summary>
+            Basis class for the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1"/> class. This
+            class allows a recipient to register for all PropertyChangedMessages without
+            having to specify the type T.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase.#ctor(System.Object,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase"/> class.
+            </summary>
+            <param name="sender">The message's sender.</param>
+            <param name="propertyName">The name of the property that changed.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase.#ctor(System.Object,System.Object,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase"/> class.
+            </summary>
+            <param name="propertyName">The name of the property that changed.</param>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.PropertyChangedMessageBase.PropertyName">
+            <summary>
+            Gets or sets the name of the property that changed.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback">
+            <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="M:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback.Execute(System.Object[])"/>
+            method to execute the callback. The callback method has one parameter.
+            <seealso cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction"/> and
+            <seealso cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1"/>.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback.#ctor(System.String,System.Delegate)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback.#ctor(System.Object,System.String,System.Delegate)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback.#ctor(System.Object,System.Object,System.String,System.Delegate)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageWithCallback.Execute(System.Object[])">
+            <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>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction">
+            <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="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction.Execute"/>
+            method to execute the callback.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction.#ctor(System.String,System.Action)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction.#ctor(System.Object,System.String,System.Action)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction.#ctor(System.Object,System.Object,System.String,System.Action)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction.Execute">
+            <summary>
+            Executes the callback that was provided with the message.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.NotificationMessage`1">
+            <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>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.GenericMessage`1">
+            <summary>
+            Passes a generic value (Content) to a recipient.
+            </summary>
+            <typeparam name="T">The type of the Content property.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.GenericMessage`1.#ctor(`0)">
+            <summary>
+            Initializes a new instance of the GenericMessage class.
+            </summary>
+            <param name="content">The message content.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.GenericMessage`1.#ctor(System.Object,`0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.GenericMessage`1.#ctor(System.Object,System.Object,`0)">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.GenericMessage`1.Content">
+            <summary>
+            Gets or sets the message's content.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage`1.#ctor(`0,System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage`1.#ctor(System.Object,`0,System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessage`1.#ctor(System.Object,System.Object,`0,System.String)">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.NotificationMessage`1.Notification">
+            <summary>
+            Gets a string containing any arbitrary message to be
+            passed to recipient(s).
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.ViewModelBase">
+            <summary>
+            A base class for the ViewModel classes in the MVVM pattern.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.ObservableObject">
+            <summary>
+            A base class for the ViewModel classes in the MVVM pattern.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ObservableObject.VerifyPropertyName(System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ObservableObject.RaisePropertyChanged(System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ObservableObject.RaisePropertyChanged``1(System.Linq.Expressions.Expression{System.Func{``0}})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ObservableObject.Set``1(System.Linq.Expressions.Expression{System.Func{``0}},``0@,``0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ObservableObject.Set``1(System.String,``0@,``0)">
+            <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>
+        </member>
+        <member name="E:GalaSoft.MvvmLight.ObservableObject.PropertyChanged">
+            <summary>
+            Occurs when a property value changes.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.ObservableObject.PropertyChangedHandler">
+            <summary>
+            Provides access to the PropertyChanged event handler to derived classes.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.#ctor">
+            <summary>
+            Initializes a new instance of the ViewModelBase class.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.#ctor(GalaSoft.MvvmLight.Messaging.IMessenger)">
+            <summary>
+            Initializes a new instance of the ViewModelBase class.
+            </summary>
+            <param name="messenger">An instance of a <see cref="T:GalaSoft.MvvmLight.Messaging.Messenger"/>
+            used to broadcast messages to other objects. If null, this class
+            will attempt to broadcast using the Messenger's default
+            instance.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.Cleanup">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.Broadcast``1(``0,``0,System.String)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged``1(System.String,``0,``0,System.Boolean)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged``1(System.Linq.Expressions.Expression{System.Func{``0}},``0,``0,System.Boolean)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.Set``1(System.Linq.Expressions.Expression{System.Func{``0}},``0@,``0,System.Boolean)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.ViewModelBase.Set``1(System.String,``0@,``0,System.Boolean)">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.ViewModelBase.IsInDesignMode">
+            <summary>
+            Gets a value indicating whether the control is in design mode
+            (running under Blend or Visual Studio).
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.ViewModelBase.IsInDesignModeStatic">
+            <summary>
+            Gets a value indicating whether the control is in design mode
+            (running in Blend or Visual Studio).
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.ViewModelBase.MessengerInstance">
+            <summary>
+            Gets or sets an instance of a <see cref="T:GalaSoft.MvvmLight.Messaging.IMessenger"/> used to
+            broadcast messages to other objects. If null, this class will
+            attempt to broadcast using the Messenger's default instance.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Helpers.WeakAction">
+            <summary>
+            Stores an <see cref="P:GalaSoft.MvvmLight.Helpers.WeakAction.Action"/> without causing a hard reference
+            to be created to the Action's owner. The owner can be garbage collected at any time.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction.#ctor(System.Object,System.Action)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Helpers.WeakAction"/> class.
+            </summary>
+            <param name="target">The action's owner.</param>
+            <param name="action">The action that will be associated to this instance.</param>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction.Execute">
+            <summary>
+            Executes the action. This only happens if the action's owner
+            is still alive.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction.MarkForDeletion">
+            <summary>
+            Sets the reference that this instance stores to null.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Helpers.WeakAction.Action">
+            <summary>
+            Gets the Action associated to this instance.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Helpers.WeakAction.IsAlive">
+            <summary>
+            Gets a value indicating whether the Action's owner is still alive, or if it was collected
+            by the Garbage Collector already.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Helpers.WeakAction.Target">
+            <summary>
+            Gets the Action's owner. This object is stored as a <see cref="T:System.WeakReference"/>.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Helpers.WeakAction`1">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction`1.#ctor(System.Object,System.Action{`0})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction`1.Execute">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction`1.Execute(`0)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Helpers.WeakAction`1.ExecuteWithObject(System.Object)">
+            <summary>
+            Executes the action with a parameter of type object. This parameter
+            will be casted to T. This method implements <see cref="M:GalaSoft.MvvmLight.Helpers.IExecuteWithObject.ExecuteWithObject(System.Object)"/>
+            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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Helpers.WeakAction`1.Action">
+            <summary>
+            Gets the Action associated to this instance.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Command.RelayCommand`1">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand`1.#ctor(System.Action{`0})">
+            <summary>
+            Initializes a new instance of the RelayCommand class that 
+            can always execute.
+            </summary>
+            <param name="execute">The execution logic.</param>
+            <exception cref="T:System.ArgumentNullException">If the execute argument is null.</exception>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand`1.#ctor(System.Action{`0},System.Func{`0,System.Boolean})">
+            <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="T:System.ArgumentNullException">If the execute argument is null.</exception>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand`1.RaiseCanExecuteChanged">
+            <summary>
+            Raises the <see cref="E:GalaSoft.MvvmLight.Command.RelayCommand`1.CanExecuteChanged"/> event.
+            </summary>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand`1.CanExecute(System.Object)">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Command.RelayCommand`1.Execute(System.Object)">
+            <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>
+        </member>
+        <member name="E:GalaSoft.MvvmLight.Command.RelayCommand`1.CanExecuteChanged">
+            <summary>
+            Occurs when changes occur that affect whether the command should execute.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1">
+            <summary>
+            Passes a string property name (PropertyName) and a generic value
+            (<see cref="P:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.OldValue"/> and <see cref="P:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.#ctor(System.Object,`0,`0,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1"/> 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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.#ctor(`0,`0,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1"/> 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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.#ctor(System.Object,System.Object,`0,`0,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1"/> 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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.NewValue">
+            <summary>
+            Gets the value that the property has after the change.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.PropertyChangedMessage`1.OldValue">
+            <summary>
+            Gets the value that the property had before the change.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.DialogMessage">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.DialogMessage.#ctor(System.String,System.Action{System.Windows.MessageBoxResult})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.DialogMessage.#ctor(System.Object,System.String,System.Action{System.Windows.MessageBoxResult})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.DialogMessage.#ctor(System.Object,System.Object,System.String,System.Action{System.Windows.MessageBoxResult})">
+            <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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.DialogMessage.ProcessCallback(System.Windows.MessageBoxResult)">
+            <summary>
+            Utility method, checks if the <see cref="P:GalaSoft.MvvmLight.Messaging.DialogMessage.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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.Button">
+            <summary>
+            Gets or sets the buttons displayed by the message box.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.Callback">
+            <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>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.Caption">
+            <summary>
+            Gets or sets the caption for the message box.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.DefaultResult">
+            <summary>
+            Gets or sets which result is the default in the message box.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.Icon">
+            <summary>
+            Gets or sets the icon for the message box.
+            </summary>
+        </member>
+        <member name="P:GalaSoft.MvvmLight.Messaging.DialogMessage.Options">
+            <summary>
+            Gets or sets the options for the message box.
+            </summary>
+        </member>
+        <member name="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1">
+            <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="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1.Execute(`0)"/>
+            method to execute the callback. The callback method has one parameter.
+            <seealso cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction"/>.
+            </summary>
+            <typeparam name="TCallbackParameter">The type of the callback method's
+            only parameter.</typeparam>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1.#ctor(System.String,System.Action{`0})">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1"/> 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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1.#ctor(System.Object,System.String,System.Action{`0})">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1"/> 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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1.#ctor(System.Object,System.Object,System.String,System.Action{`0})">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1"/> 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>
+        </member>
+        <member name="M:GalaSoft.MvvmLight.Messaging.NotificationMessageAction`1.Execute(`0)">
+            <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>
+        </member>
+    </members>
+</doc>
Binary file Messaging/Libs/MvvmLight.4.0/Microsoft.Practices.ServiceLocation.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/MvvmLight.4.0/Microsoft.Practices.ServiceLocation.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -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>
Binary file Messaging/Libs/MvvmLight.4.0/System.Windows.Interactivity.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Libs/MvvmLight.4.0/System.Windows.Interactivity.xml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,1072 @@
+<?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="M:System.Windows.Interactivity.BehaviorCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the BehaviorCollection.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="F:System.Windows.Interactivity.CustomPropertyValueEditor.ElementBinding">
+            <summary>
+            Uses the element-binding picker, if supported, to edit this property at design time.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Interactivity.CustomPropertyValueEditor.PropertyBinding">
+            <summary>
+            Uses the property-binding 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="M:System.Windows.Interactivity.DependencyObjectHelper.GetSelfAndAncestors(System.Windows.DependencyObject)">
+            <summary>
+            This method will use the VisualTreeHelper.GetParent method to do a depth first walk up 
+            the visual tree and return all ancestors of the specified object, including the object itself.
+            </summary>
+            <param name="dependencyObject">The object in the visual tree to find ancestors of.</param>
+            <returns>Returns itself an all ancestors in the visual tree.</returns>
+        </member>
+        <member name="T:System.Windows.Interactivity.EventObserver">
+            <summary>
+            EventObserver is designed to help manage event handlers by detatching when disposed. Creating this object will also attach in the constructor.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Interactivity.EventObserver.#ctor(System.Reflection.EventInfo,System.Object,System.Delegate)">
+            <summary>
+            Creates an instance of EventObserver and attaches to the supplied event on the supplied target. Call dispose to detach.
+            </summary>
+            <param name="eventInfo">The event to attach and detach from.</param>
+            <param name="target">The target object the event is defined on. Null if the method is static.</param>
+            <param name="handler">The delegate to attach to the event.</param>
+        </member>
+        <member name="M:System.Windows.Interactivity.EventObserver.Dispose">
+            <summary>
+            Detaches the handler from the event.
+            </summary>
+        </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 object 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 object 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 object 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.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the TriggerBase derived class.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="E:System.Windows.Interactivity.TriggerBase.PreviewInvoke">
+            <summary>
+            Event handler for registering to PreviewInvoke.
+            </summary>
+        </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.Object,System.Object)">
+            <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.SourceObject">
+            <summary>
+            Gets or sets the target object. If TargetObject is not set, the target will look for the object specified by TargetName. If an element referred to by TargetName cannot be found, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The target object.</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 not set 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 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>
+            <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>
+            <remarks>
+            This property is not exposed publicly. This forces clients to use the GetTriggers and SetTriggers methods to access the
+            collection, ensuring the collection exists and is set before it is used.
+            </remarks>
+        </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>
+            <remarks>
+            This property is not exposed publicly. This forces clients to use the GetBehaviors and SetBehaviors methods to access the
+            collection, ensuring the collection exists and is set before it is used.
+            </remarks>
+        </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 this property is not available in Silverlight.
+            </summary>
+            <param name="element">The element of interest.</param>
+            <returns>True if the element has been loaded; otherwise, False.</returns>
+        </member>
+        <member name="P:System.Windows.Interactivity.Interaction.ShouldRunInDesignMode">
+            <summary>
+            Gets or sets a value indicating whether to run as if in design mode.
+            </summary>
+            <value>
+            	<c>True</c> if [should run in design mode]; otherwise, <c>False</c>.
+            </value>
+            <remarks>Not to be used outside unit tests.</remarks>
+        </member>
+        <member name="T:System.Windows.Interactivity.InvokeCommandAction">
+            <summary>
+            Executes a specified ICommand 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.CreateInstanceCore">
+            <summary>
+            When implemented in a derived class, creates a new instance of the <see cref="T:System.Windows.Freezable"/> derived class.
+            </summary>
+            <returns>The new instance.</returns>
+        </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="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>
+            <remarks>This property will be superseded by the Command property if both are set.</remarks>
+        </member>
+        <member name="P:System.Windows.Interactivity.InvokeCommandAction.Command">
+            <summary>
+            Gets or sets the command this action should invoke. This is a dependency property.
+            </summary>
+            <value>The command to execute.</value>
+            <remarks>This property will take precedence over the CommandName property if both are set.</remarks>
+        </member>
+        <member name="P:System.Windows.Interactivity.InvokeCommandAction.CommandParameter">
+            <summary>
+            Gets or sets the command parameter. This is a dependency property.
+            </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 the 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 if 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.Object,System.Object)">
+            <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.TargetObject">
+            <summary>
+            Gets or sets the target object. If TargetObject is not set, the target will look for the object specified by TargetName. If an element referred to by TargetName cannot be found, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The target object.</value>
+        </member>
+        <member name="P:System.Windows.Interactivity.TargetedTriggerAction.TargetName">
+            <summary>
+            Gets or sets the name of the object this action targets. If Target is set, this property is ignored. If Target is not set and TargetName is not set or cannot be resolved, the target will default to the AssociatedObject. This is a dependency property.
+            </summary>
+            <value>The name of the target object.</value>
+        </member>
+        <member name="P:System.Windows.Interactivity.TargetedTriggerAction.Target">
+            <summary>
+            Gets the target object. If TargetObject is set, returns TargetObject. Else, if TargetName is not set or cannot be resolved, defaults to the AssociatedObject.
+            </summary>
+            <value>The target object.</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 not set 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="M:System.Windows.Interactivity.TriggerActionCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the TriggerActionCollection.
+            </summary>
+            <returns>The new instance.</returns>
+        </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.PreviewInvokeEventArgs">
+            <summary>
+            Argument passed to PreviewInvoke event. Assigning Cancelling to True will cancel the invoking of the trigger.
+            </summary>
+            <remarks>This is an infrastructure class. Behavior attached to a trigger base object can add its behavior as a listener to TriggerBase.PreviewInvoke.</remarks>
+        </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="M:System.Windows.Interactivity.TriggerCollection.CreateInstanceCore">
+            <summary>
+            Creates a new instance of the <see cref="T:System.Windows.Interactivity.TriggerCollection"/>.
+            </summary>
+            <returns>The new instance.</returns>
+        </member>
+        <member name="T:System.Windows.Interactivity.TypeConstraintAttribute">
+            <summary>
+            Specifies 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:ExceptionStringTable">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:ExceptionStringTable.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P: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:ExceptionStringTable.CannotHostBehaviorCollectionMultipleTimesExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot set the same BehaviorCollection on multiple objects..
+            </summary>
+        </member>
+        <member name="P: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: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:ExceptionStringTable.CannotHostTriggerCollectionMultipleTimesExceptionMessage">
+            <summary>
+              Looks up a localized string similar to Cannot set the same TriggerCollection on multiple objects..
+            </summary>
+        </member>
+        <member name="P: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: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: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: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:ExceptionStringTable.EventTriggerBaseInvalidEventExceptionMessage">
+            <summary>
+              Looks up a localized string similar to The event &quot;{0}&quot; on type &quot;{1}&quot; has an incompatible signature. Make sure the event is public and satisfies the EventHandler delegate..
+            </summary>
+        </member>
+        <member name="P: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: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: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:ExceptionStringTable.UnableToResolveTargetNameWarningMessage">
+            <summary>
+              Looks up a localized string similar to Unable to resolve TargetName &quot;{0}&quot;..
+            </summary>
+        </member>
+    </members>
+</doc>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Messaging.sln	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,54 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{A453FF2D-6EF0-4E0F-B19E-5522923C7293}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "Client\Client.csproj", "{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|Mixed Platforms = Debug|Mixed Platforms
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|Mixed Platforms = Release|Mixed Platforms
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Debug|Any CPU.ActiveCfg = Debug|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Debug|Mixed Platforms.Build.0 = Debug|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Debug|x86.ActiveCfg = Debug|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Debug|x86.Build.0 = Debug|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Release|Any CPU.ActiveCfg = Release|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Release|Mixed Platforms.ActiveCfg = Release|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Release|Mixed Platforms.Build.0 = Release|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Release|x86.ActiveCfg = Release|x86
+		{A453FF2D-6EF0-4E0F-B19E-5522923C7293}.Release|x86.Build.0 = Release|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Debug|Any CPU.ActiveCfg = Debug|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Debug|Mixed Platforms.Build.0 = Debug|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Debug|x86.ActiveCfg = Debug|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Debug|x86.Build.0 = Debug|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Release|Any CPU.ActiveCfg = Release|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Release|Mixed Platforms.ActiveCfg = Release|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Release|Mixed Platforms.Build.0 = Release|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Release|x86.ActiveCfg = Release|x86
+		{31F2E0F2-A94B-4FC0-B4D4-1518600A0256}.Release|x86.Build.0 = Release|x86
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}.Release|x86.ActiveCfg = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/App.xaml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,46 @@
+<Application x:Class="Server.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:local="clr-namespace:Server"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             StartupUri="UI\MainWindow.xaml"
+             mc:Ignorable="d">
+    <Application.Resources>
+        <ResourceDictionary>
+            <ResourceDictionary.MergedDictionaries>
+                <ResourceDictionary Source="/Elysium.Theme;component/Themes/Generic.xaml" />
+            </ResourceDictionary.MergedDictionaries>
+            <!--  Bug in .Net 4: http://connect.microsoft.com/VisualStudio/feedback/details/555322/global-wpf-styles-are-not-shown-when-using-2-levels-of-references  -->
+            <Style TargetType="{x:Type Window}" />
+            <local:Locator x:Key="Locator" d:IsDataSource="True" />
+            <Color x:Key="MetroMagenta">#FF0097</Color>
+            <Color x:Key="MetroPurple">#A200FF</Color>
+            <Color x:Key="MetroTeal">#00ABA9</Color>
+            <Color x:Key="MetroLime">#8CBF26</Color>
+            <Color x:Key="MetroBrown">#996600</Color>
+            <Color x:Key="MetroPink">#FF0097</Color>
+            <Color x:Key="MetroOrange">#F09609</Color>
+            <Color x:Key="MetroBlue">#1BA1E2</Color>
+            <Color x:Key="MetroLightBlue">#FFB2E0F4</Color>
+            <Color x:Key="MetroRed">#E51400</Color>
+            <Color x:Key="MetroGreen">#339933</Color>
+            <Color x:Key="MetroGray">#FFF2F2F2</Color>
+            <SolidColorBrush x:Key="MetroMagentaBrush" Color="{StaticResource MetroMagenta}" />
+            <SolidColorBrush x:Key="MetroPurpleBrush" Color="{StaticResource MetroPurple}" />
+            <SolidColorBrush x:Key="MetroTealBrush" Color="{StaticResource MetroTeal}" />
+            <SolidColorBrush x:Key="MetroLimeBrush" Color="{StaticResource MetroLime}" />
+            <SolidColorBrush x:Key="MetroBrownBrush" Color="{StaticResource MetroBrown}" />
+            <SolidColorBrush x:Key="MetroPinkBrush" Color="{StaticResource MetroPink}" />
+            <SolidColorBrush x:Key="MetroOrangeBrush" Color="{StaticResource MetroOrange}" />
+            <SolidColorBrush x:Key="MetroBlueBrush" Color="{StaticResource MetroBlue}" />
+            <SolidColorBrush x:Key="MetroLightBlueBrush" Color="{StaticResource MetroLightBlue}" />
+            <SolidColorBrush x:Key="MetroRedBrush" Color="{StaticResource MetroRed}" />
+            <SolidColorBrush x:Key="MetroGreenBrush" Color="{StaticResource MetroGreen}" />
+            <SolidColorBrush x:Key="MetroGrayBrush" Color="{StaticResource MetroGray}" />
+
+            <BitmapImage x:Key="Mail" UriSource="pack://application:,,,/Common;component/Icons/Mail.png" />
+
+        </ResourceDictionary>
+    </Application.Resources>
+</Application>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/App.xaml.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,16 @@
+using System.Windows;
+using Common.Binding;
+
+namespace Server
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+        protected override void OnStartup(StartupEventArgs e)
+        {
+            //BindingErrorTraceListener.SetTrace();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Converters/ToggleButtonToTextConverter.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,30 @@
+using System;
+using System.Windows.Data;
+using System.Windows.Markup;
+
+namespace Server.Converters
+{
+    public class ToggleButtonToTextConverter : MarkupExtension, IValueConverter
+    {
+        private static ToggleButtonToTextConverter _toggleButtonToTextConverter = null;
+
+        public override object ProvideValue(IServiceProvider serviceProvider)
+        {
+            return _toggleButtonToTextConverter ?? (_toggleButtonToTextConverter = new ToggleButtonToTextConverter());
+        }
+
+        #region IValueConverter Members
+
+        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+        {
+            return (bool) value ? "ON" : "OFF";
+        }
+
+        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+        {
+            throw new NotImplementedException();
+        }
+
+        #endregion
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Interfaces/IListener.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,9 @@
+namespace Server.Interfaces
+{
+    public interface IListener
+    {
+        bool IsListening { get; set; }
+        void Start();
+        void Stop();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Locator.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,12 @@
+using Server.UI;
+
+namespace Server
+{
+    public class Locator
+    {
+        public MainWindowViewModel MainWindowViewModel
+        {
+            get { return new MainWindowViewModel(); }
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Properties/AssemblyInfo.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Server")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Server")]
+[assembly: AssemblyCopyright("Copyright ©  2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set 
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+    //(used if a resource is not found in the page, 
+    // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+    //(used if a resource is not found in the page, 
+    // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Properties/Resources.Designer.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.530
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Server.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Server.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Properties/Resources.resx	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Properties/Settings.Designer.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.530
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Server.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Properties/Settings.settings	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Server.csproj	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,139 @@
+<?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)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{A453FF2D-6EF0-4E0F-B19E-5522923C7293}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Server</RootNamespace>
+    <AssemblyName>Server</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>UI\mail.ico</ApplicationIcon>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Elysium.Theme">
+      <HintPath>..\Libs\Elysium.Theme.1.3\Elysium.Theme.dll</HintPath>
+    </Reference>
+    <Reference Include="GalaSoft.MvvmLight.Extras.WPF4, Version=0.0.0.0, Culture=neutral, PublicKeyToken=1673db7d5906b0ad, processorArchitecture=MSIL">
+      <HintPath>..\Libs\MvvmLight.4.0\GalaSoft.MvvmLight.Extras.WPF4.dll</HintPath>
+    </Reference>
+    <Reference Include="GalaSoft.MvvmLight.WPF4, Version=0.0.0.0, Culture=neutral, PublicKeyToken=63eb5c012e0b3c1c, processorArchitecture=MSIL">
+      <HintPath>..\Libs\MvvmLight.4.0\GalaSoft.MvvmLight.WPF4.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Expression.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\Libs\Elysium.Theme.1.3\Microsoft.Expression.Drawing.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Expression.Interactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\Libs\Elysium.Theme.1.3\Microsoft.Expression.Interactions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Windows.Shell, Version=3.5.41019.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\Libs\Elysium.Theme.1.3\Microsoft.Windows.Shell.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\Libs\Elysium.Theme.1.3\System.Windows.Interactivity.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Compile Include="Converters\ToggleButtonToTextConverter.cs" />
+    <Compile Include="Interfaces\IListener.cs" />
+    <Compile Include="Locator.cs" />
+    <Compile Include="UI\MainWindowViewModel.cs" />
+    <Compile Include="Sockets\StateObject.cs" />
+    <Compile Include="UI\MessagingEndpoint.cs" />
+    <Page Include="UI\MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Sockets\AsyncSocketListener.cs" />
+    <Compile Include="UI\MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <AppDesigner Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Common\Common.csproj">
+      <Project>{241CE91D-18AC-4D84-ACC2-2273F50A5E9B}</Project>
+      <Name>Common</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="UI\mail.ico" />
+  </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>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Sockets/AsyncSocketListener.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,182 @@
+using System;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+using Common;
+using Common.Logger;
+using Server.Interfaces;
+
+namespace Server.Sockets
+{ 
+    public class AsyncSocketListener : IListener
+    {
+        public bool IsListening { get; set; }
+        private int _portNumber;
+
+        // Thread signal.
+        public static ManualResetEvent AllDone = new ManualResetEvent(false);
+
+        public AsyncSocketListener(int portNumber)
+        {
+            IsListening = false;
+            _portNumber = portNumber;
+        }
+
+        public void Start()
+        {
+            // Data buffer for incoming data.
+            var bytes = new Byte[1024];
+
+            // Establish the local endpoint for the socket
+            var ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
+            var ipAddress = ipHostInfo.AddressList[0];
+            var localEndPoint = new IPEndPoint(ipAddress, _portNumber);
+
+            // Create a TCP/IP socket.
+            var listener = new Socket(
+                AddressFamily.InterNetwork,
+                SocketType.Stream, 
+                ProtocolType.Tcp);
+
+            // Bind the socket to the local endpoint and listen for incoming connections.
+            try
+            {
+                listener.Bind(localEndPoint);
+                listener.Listen(100);
+                IsListening = true;
+
+                while (IsListening)
+                {
+                    // Set the event to nonsignaled state.
+                    AllDone.Reset();
+
+                    // Start an asynchronous socket to listen for connections.
+                    Log.Write("Waiting for a connection...");
+                    
+                    listener.BeginAccept(
+                        AcceptCallback,
+                        listener);
+
+                    // Wait until a connection is made before continuing.
+                    AllDone.WaitOne();
+                }
+            }
+            catch (Exception e)
+            {
+                Log.Write(e.ToString());
+            }
+        }
+
+        public void AcceptCallback(IAsyncResult ar)
+        {
+            // Signal the main thread to continue.
+            AllDone.Set();
+
+            // Get the socket that handles the client request.
+            var listener = (Socket) ar.AsyncState;
+            var handler = listener.EndAccept(ar);
+
+            // Create the state object.
+            var state = new StateObject {WorkSocket = handler};
+
+            handler.BeginReceive(
+                state.Buffer, 
+                0, 
+                StateObject.BufferSize, 
+                0,
+                ReadCallback, 
+                state);
+        }
+
+        public void ReadCallback(IAsyncResult ar)
+        {
+            var content = String.Empty;
+
+            // Retrieve the state object and the handler socket
+            // from the asynchronous state object.
+            var state = (StateObject)ar.AsyncState;
+            var handler = state.WorkSocket;
+
+            // Read data from the client socket. 
+            var bytesRead = handler.EndReceive(ar);
+
+            if (bytesRead <= 0) return;
+
+            // There  might be more data, so store the data received so far.
+            state.Sb.Append(
+                Encoding.ASCII.GetString(
+                    state.Buffer, 
+                    0, 
+                    bytesRead));
+
+            // Check for end-of-file tag. If it is not there, read 
+            // more data.
+            content = state.Sb.ToString();
+            if (content.IndexOf("<EOF>") > -1)
+            {
+                // All the data has been read from the 
+                // client. Display it on the console.
+                Log.Write(
+                    string.Format(
+                        "Read {0} bytes from socket. \n Data : {1}",
+                        content.Length, 
+                        content));
+                
+                // Echo the data back to the client.
+                Send(handler, "The following message was received: " + content);
+            }
+            else
+            {
+                // Not all data received. Get more.
+                handler.BeginReceive(
+                    state.Buffer, 
+                    0, 
+                    StateObject.BufferSize, 
+                    0,
+                    ReadCallback,
+                    state);
+            }
+        }
+
+        private void Send(Socket handler, String data)
+        {
+            // Convert the string data to byte data using ASCII encoding.
+            var byteData = Encoding.ASCII.GetBytes(data);
+
+            // Begin sending the data to the remote device.
+            handler.BeginSend(
+                byteData, 
+                0, 
+                byteData.Length, 
+                0,
+                SendCallback,
+                handler);
+        }
+
+        private void SendCallback(IAsyncResult ar)
+        {
+            try
+            {
+                // Retrieve the socket from the state object.
+                var handler = (Socket)ar.AsyncState;
+
+                // Complete sending the data to the remote device.
+                var bytesSent = handler.EndSend(ar);
+                Log.Write(string.Format("Sent {0} bytes to client.", bytesSent));
+
+                handler.Shutdown(SocketShutdown.Both);
+                handler.Close();
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+            }
+        }
+
+        public void Stop()
+        {
+            IsListening = false;
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/Sockets/StateObject.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,21 @@
+using System.Net.Sockets;
+using System.Text;
+
+namespace Server.Sockets
+{
+    // State object for reading client data asynchronously
+    public class StateObject
+    {
+        // Client  socket.
+        public Socket WorkSocket;
+
+        // Size of receive buffer.
+        public const int BufferSize = 1024;
+
+        // Receive buffer.
+        public byte[] Buffer = new byte[BufferSize];
+
+        // Received data string.
+        public StringBuilder Sb = new StringBuilder();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/UI/MainWindow.xaml	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,125 @@
+<metro:Window x:Class="Server.UI.MainWindow"
+              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+              xmlns:c="clr-namespace:Common.Controls;assembly=Common"
+              xmlns:converters="clr-namespace:Server.Converters"
+              xmlns:metro="http://schemas.codeplex.com/elysium/theme"
+              Title="Messaging Server"
+              Width="700"
+              Height="475"
+              MinWidth="700"
+              MinHeight="475"
+              DataContext="{Binding MainWindowViewModel,
+                                    Source={StaticResource Locator}}"
+              Icon="{StaticResource Mail}">
+
+    <TabControl Margin="{Binding Source={x:Static metro:Parameters.Instance}, Path=BoldPadding, Mode=OneWay}">
+        <TabItem Header="dashboard">
+            <Grid HorizontalAlignment="Center">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="220" />
+                    <ColumnDefinition Width="220" />
+                    <ColumnDefinition Width="220" />
+                </Grid.ColumnDefinitions>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="Auto" />
+                    <RowDefinition Height="220" />
+                    <RowDefinition Height="*" />
+                    <RowDefinition Height="50" />
+                </Grid.RowDefinitions>
+
+                <ToggleButton Grid.Row="0"
+                              Grid.Column="0"
+                              Margin="10,10,10,0"
+                              Content="{Binding SocketEndPoint.IsListening,
+                                                Converter={converters:ToggleButtonToTextConverter}}"
+                              IsChecked="{Binding SocketEndPoint.IsListening}"
+                              IsEnabled="True"
+                              IsThreeState="False" />
+
+                <ToggleButton Grid.Row="0"
+                              Grid.Column="1"
+                              Margin="10,10,10,0"
+                              Content="{Binding SocketEndPoint.IsListening,
+                                                Converter={converters:ToggleButtonToTextConverter}}"
+                              IsChecked="{Binding SocketEndPoint.IsListening}"
+                              IsEnabled="True" />
+
+                <ToggleButton Grid.Row="0"
+                              Grid.Column="2"
+                              Margin="10,10,10,0"
+                              Content="{Binding SocketEndPoint.IsListening,
+                                                Converter={converters:ToggleButtonToTextConverter}}"
+                              IsChecked="{Binding SocketEndPoint.IsListening}"
+                              IsEnabled="True" />
+
+                <c:MessageTile Grid.Row="1"
+                               Grid.Column="0"
+                               Background="{StaticResource MetroPurpleBrush}"
+                               DisplayCount="{Binding SocketEndPoint.DisplayCount, Mode= TwoWay, UpdateSourceTrigger=PropertyChanged}"
+                               DisplayIcon="{StaticResource Mail}"
+                               DisplayText="{Binding SocketEndPoint.DisplayText}"
+                               Foreground="White"
+                               ToolTip="{Binding SocketEndPoint.ToolTip}" />
+
+                <c:MessageTile Grid.Row="1"
+                               Grid.Column="1"
+                               Background="{StaticResource MetroGreenBrush}"
+                               DisplayCount="{Binding SocketEndPoint.DisplayCount}"
+                               DisplayIcon="{StaticResource Mail}"
+                               DisplayText="{Binding DisplayText}"
+                               Foreground="White"
+                               ToolTip="{Binding SocketEndPoint.ToolTip}" />
+
+                <c:MessageTile Grid.Row="1"
+                               Grid.Column="2"
+                               Background="{StaticResource MetroOrangeBrush}"
+                               DisplayCount="{Binding SocketEndPoint.DisplayCount}"
+                               DisplayIcon="{StaticResource Mail}"
+                               DisplayText="{Binding SocketEndPoint.DisplayText}"
+                               Foreground="White"
+                               ToolTip="{Binding SocketEndPoint.ToolTip}" />
+
+                <TextBlock Grid.Row="2"
+                           Grid.Column="0"
+                           Margin="10"
+                           Background="{StaticResource MetroGrayBrush}"
+                           Padding="10"
+                           Text="{Binding SocketEndPoint.DisplayLog}"
+                           TextWrapping="Wrap" />
+
+                <TextBlock Grid.Row="2"
+                           Grid.Column="1"
+                           Margin="10"
+                           Background="{StaticResource MetroGrayBrush}"
+                           Padding="10"
+                           Text="{Binding SocketEndPoint.DisplayLog}"
+                           TextWrapping="WrapWithOverflow" />
+
+                <TextBlock Grid.Row="2"
+                           Grid.Column="2"
+                           Margin="10"
+                           Background="{StaticResource MetroGrayBrush}"
+                           Padding="10"
+                           Text="{Binding SocketEndPoint.DisplayLog}"
+                           TextWrapping="WrapWithOverflow" />
+
+                <metro:ToggleSwitch Grid.Row="3"
+                                    Grid.Column="0"
+                                    Width="80"
+                                    Height="50"
+                                    Margin="10"
+                                    HorizontalAlignment="Left"
+                                    IsChecked="{Binding OverrideSwitch}"
+                                    IsEnabled="True" />
+                <Button Grid.Row="3"
+                        Grid.Column="2"
+                        Width="75"
+                        Margin="10"
+                        HorizontalAlignment="Right"
+                        Command="{Binding CloseCommand}"
+                        Content="Close" />
+            </Grid>
+        </TabItem>
+    </TabControl>
+</metro:Window>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/UI/MainWindow.xaml.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,13 @@
+namespace Server.UI
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/UI/MainWindowViewModel.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,86 @@
+using System.Windows.Input;
+using Common;
+using Common.Logger;
+using GalaSoft.MvvmLight;
+using GalaSoft.MvvmLight.Command;
+using System.Windows;
+using Server.Interfaces;
+using Server.Sockets;
+
+namespace Server.UI
+{
+    public class MainWindowViewModel : ViewModelBase
+    {
+        #region Properties
+
+        #region OverrideSwitch
+
+        public const string OverrideSwitchPropertyName = "OverrideSwitch";
+        private bool? _overrideSwitch = false;
+        public bool? OverrideSwitch
+        {
+            get { return _overrideSwitch; }
+            set
+            {
+                if (_overrideSwitch == value) return;
+                var oldValue = _overrideSwitch;
+                _overrideSwitch = value;
+                RaisePropertyChanged(() => OverrideSwitch, oldValue, value, false);
+            }
+        }
+
+        #endregion
+
+        #endregion
+
+
+        #region DisplayText
+
+        public const string DisplayTextPropertyName = "DisplayText";
+        private string _displayText;
+        public string DisplayText
+        {
+            get { return _displayText; }
+            set
+            {
+                if (_displayText == value) return;
+                _displayText = value;
+                RaisePropertyChanged(() => DisplayText);
+            }
+        }
+
+        #endregion
+
+        public ICommand CloseCommand { get; set; }
+
+        public MessagingEndPoint SocketEndPoint { get; set; }
+        public MessagingEndPoint RabbitEndPoint { get; set; }
+        public MessagingEndPoint RabbitProtoEndPoint { get; set; }
+
+        #region Constructor
+
+        public MainWindowViewModel()
+        {
+            IListener listener = new AsyncSocketListener(Settings.SocketsPortNumber);
+            SocketEndPoint = new MessagingEndPoint(listener)
+                                 {
+                                     DisplayText = "Async Sockets",
+                                     ToolTip = "Listening over TCP/IP on localhost:" + Settings.SocketsPortNumber,
+                                     DisplayCount = 9,
+                                     DisplayLog = "test for display log"
+                                 };
+
+            DisplayText = "Does this work?!";
+
+            CloseCommand = new RelayCommand(CloseCommandExecute);
+        }
+
+        private void CloseCommandExecute()
+        {
+            Log.Write("Closing command executed");
+            Application.Current.Shutdown();
+        }
+
+        #endregion
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Messaging/Server/UI/MessagingEndpoint.cs	Wed Mar 21 15:39:53 2012 +0000
@@ -0,0 +1,128 @@
+using System.Windows.Input;
+using GalaSoft.MvvmLight;
+using GalaSoft.MvvmLight.Command;
+using Server.Interfaces;
+
+namespace Server.UI
+{
+    public class MessagingEndPoint : ObservableObject
+    {
+        #region Fields
+
+        private readonly IListener _listener;
+
+        #endregion
+
+        #region Constructor
+
+        public MessagingEndPoint(IListener listener)
+        {
+            _listener = listener;
+            SwitchCommand = new RelayCommand(SwitchCommandExecute);
+        }
+
+        #endregion
+
+        #region Properties
+
+        #region IsListening
+
+        public const string IsListeningPropertyName = "IsListening";
+        public bool IsListening
+        {
+            get { return _listener.IsListening; }
+            set
+            {
+                if (_listener.IsListening == value) return;
+                _listener.IsListening = value;
+                RaisePropertyChanged(() => IsListening);
+            }
+        }
+
+        #endregion
+
+        #region DisplayText
+
+        public const string DisplayTextPropertyName = "DisplayText";
+        private string _displayText;
+        public string DisplayText
+        {
+            get { return _displayText; }
+            set
+            {
+                if (_displayText == value) return;
+                _displayText = value;
+                RaisePropertyChanged(() => DisplayText);
+            }
+        }
+
+        #endregion
+
+        #region DisplayCount
+
+        public const string DisplayCountPropertyName = "DisplayCount";
+        private int _displayCount;
+        public int DisplayCount
+        {
+            get { return _displayCount; }
+            set
+            {
+                if (_displayCount == value) return;
+                _displayCount = value;
+                RaisePropertyChanged(() => DisplayCount);
+            }
+        }
+        #endregion
+
+        #region DisplayLog
+
+        public const string DisplayLogPropertyName = "DisplayLog";
+        private string _displayLog = string.Empty;
+        public string DisplayLog
+        {
+            get { return _displayLog; }
+            set
+            {
+                if (_displayLog == value) return;
+                _displayLog = value;
+                RaisePropertyChanged(() => DisplayLog);
+            }
+        }
+
+        #endregion
+
+        #region ToolTip
+
+        public const string ToolTipPropertyName = "ToolTip";
+        private string _toolTip = string.Empty;
+        public string ToolTip
+        {
+            get { return _toolTip; }
+            set
+            {
+                if (_toolTip == value) return;
+                _toolTip = value;
+                RaisePropertyChanged(() => ToolTip);
+            }
+        }
+
+        #endregion
+
+        #endregion
+
+        #region Commands
+
+        #region SwitchCommand
+
+        public ICommand SwitchCommand { get; set; }
+
+        private void SwitchCommandExecute()
+        {
+            IsListening = !_listener.IsListening;
+        }
+
+        #endregion
+
+        #endregion
+    }
+}
Binary file Messaging/Server/UI/mail.ico has changed