using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Browser;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Markup;
using System.Windows.Shapes;
using System.ComponentModel;
using ESRI.ArcGIS.Client;
using System.Windows.Controls.Primitives;
namespace ESRIStandardMapApplication1
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }
        private void myMenuItem1_Click(object sender, RoutedEventArgs e)
        {
            // The myArcGISDynamicMapServiceLayer (an ArcGISDynamicServiceLayer object) and TextBlock_LayerDefinitions
            // (a TextBlock object) were defined previously in the XAML or code-behind.
            // Get the layer in the LayerInfo collection. 
            ArcGISDynamicMapServiceLayer myArcGISDynamicMapServiceLayer = (ArcGISDynamicMapServiceLayer)Map.Layers[1];
            // LayerDefinition (Read/Write)
            // This is how to set (i.e. Write) a LayerDefinition.
            // --------------------------------------------------
            // Set the .LayerDefinition for the .LayerID = 0 (the Earthquakes1970 layer). By default no LayerDefinition 
            // is set unless explicitly set on the server.
            ESRI.ArcGIS.Client.LayerDefinition myDefinition = new ESRI.ArcGIS.Client.LayerDefinition();
            myDefinition.LayerID = 0;
            // The Definition only displays earth quakes that have an Magnitude greater than 6. 
            // The field Magnitude is of type esriFieldTypeDouble.
            myDefinition.Definition = "Magnitude > 6";
            // Another example where the Name of the earth quake event is to contains the letters 'CHINA'.
            // Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString.
            //myDefinition.Definition = "Name LIKE 'CHINA'";
            // Another example where the Name of the earth quake event is exactly matches the letters 'VENEZUELA'.
            // Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString.
            //myDefinition.Definition = "Name = 'VENEZUELA'";
            // Another example where the earth quake events are displayed if they occured after January 15, 2008. 
            // The field Date_ is of type esriFieldTypeDate.
            //myDefinition.Definition = "Date_ > DATE '1/15/2008'";
            // Create an ObservableCollection and add the .Definition to it.
            System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection2 =
               new System.Collections.ObjectModel.ObservableCollection<LayerDefinition>();
            myObservableCollection2.Add(myDefinition);
            // Apply the custom LayerDefinition
            myArcGISDynamicMapServiceLayer.LayerDefinitions = myObservableCollection2;
            myArcGISDynamicMapServiceLayer.Refresh();
            
        }
        private void myMenuItem2_Click(object sender, RoutedEventArgs e)
        {
            // The myArcGISDynamicMapServiceLayer (an ArcGISDynamicServiceLayer object) and TextBlock_LayerDefinitions
            // (a TextBlock object) were defined previously in the XAML or code-behind.
            // Get the layer in the LayerInfo collection. 
            ArcGISDynamicMapServiceLayer myArcGISDynamicMapServiceLayer = (ArcGISDynamicMapServiceLayer)Map.Layers[1];
            // LayerDefinition (Read/Write)
            // This is how to set (i.e. Write) a LayerDefinition.
            // --------------------------------------------------
            // Set the .LayerDefinition for the .LayerID = 0 (the Earthquakes1970 layer). By default no LayerDefinition 
            // is set unless explicitly set on the server.
            ESRI.ArcGIS.Client.LayerDefinition myDefinition = new ESRI.ArcGIS.Client.LayerDefinition();
            myDefinition.LayerID = 0;
            // The Definition only displays earth quakes that have an Magnitude greater than 6. 
            // The field Magnitude is of type esriFieldTypeDouble.
            myDefinition.Definition = "Name = 'VENEZUELA'";
            // Another example where the Name of the earth quake event is to contains the letters 'CHINA'.
            // Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString.
            //myDefinition.Definition = "Name LIKE 'CHINA'";
            // Another example where the Name of the earth quake event is exactly matches the letters 'VENEZUELA'.
            // Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString.
            //myDefinition.Definition = "Name = 'VENEZUELA'";
            // Another example where the earth quake events are displayed if they occured after January 15, 2008. 
            // The field Date_ is of type esriFieldTypeDate.
            //myDefinition.Definition = "Date_ > DATE '1/15/2008'";
            // Create an ObservableCollection and add the .Definition to it.
            System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection2 =
               new System.Collections.ObjectModel.ObservableCollection<LayerDefinition>();
            myObservableCollection2.Add(myDefinition);
            // Apply the custom LayerDefinition
            myArcGISDynamicMapServiceLayer.LayerDefinitions = myObservableCollection2;
            myArcGISDynamicMapServiceLayer.Refresh();
        }
        void ReadLayerDefs()
        {
            // This is how to get (i.e. Read) a LayerDefiniton.
            // The TextBlock_LayerDefinitions (a TextBlock object) was previously set in XAML or code-behind.
            // ----------------------------------------------------------------------------------------------
            // Get the existing LayerDefinitions collection.
            ArcGISDynamicMapServiceLayer myArcGISDynamicMapServiceLayer = (ArcGISDynamicMapServiceLayer)Map.Layers[1];
            System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection =
                myArcGISDynamicMapServiceLayer.LayerDefinitions;
            if (myObservableCollection.Count > 0)
            {
                // Get the first LayerDefinition 
                ESRI.ArcGIS.Client.LayerDefinition myLayerDefinition = myObservableCollection[0];
                // Display some textual information about the LayerDefinition.
                MessageBox.Show("For Layer: " + myLayerDefinition.LayerID.ToString() + ". The Defintion is: " + myLayerDefinition.Definition);
            }
            else
            {
                MessageBox.Show("[NO LayerDefinitions SET]");
            }
        }
        private void myMenuItem3_Click(object sender, RoutedEventArgs e)
        {
            // Get the layer in the LayerInfo collection. 
            ArcGISDynamicMapServiceLayer myArcGISDynamicMapServiceLayer = (ArcGISDynamicMapServiceLayer)Map.Layers[1];
            // Create an ObservableCollection and add the .Definition to it.
            System.Collections.ObjectModel.ObservableCollection<LayerDefinition> myObservableCollection2 =
               new System.Collections.ObjectModel.ObservableCollection<LayerDefinition>();
           // myObservableCollection2.Add(myDefinition);
            // Apply the custom LayerDefinition
            myArcGISDynamicMapServiceLayer.LayerDefinitions = myObservableCollection2;
            myArcGISDynamicMapServiceLayer.Refresh();
        }
    }
}
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		<UserControl x:Class="ESRIStandardMapApplication1.MainPage"
    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"
    xmlns:esri="http://schemas.esri.com/arcgis/client/2009" 
    mc:Ignorable="d" d:DesignWidth="780" d:DesignHeight="480"
 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
    xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"
    xmlns:userControls="clr-namespace:ESRI.ArcGIS.SilverlightMapApp"
    xmlns:actions="clr-namespace:ESRI.ArcGIS.SilverlightMapApp.Actions">
    <Grid x:Name="LayoutRoot">
        <!-- Map Control -->
        <esri:Map x:Name="Map" Background="White">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseEnter">
                    <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                        <ei:ChangePropertyAction.Value>
                            <Visibility>Collapsed</Visibility>
                        </ei:ChangePropertyAction.Value>
                    </ei:ChangePropertyAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>
         <esri:ArcGISTiledMapServiceLayer ID="BaseLayer" 
          Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
            <esri:ArcGISDynamicMapServiceLayer Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/Since_1970/MapServer">
                <esri:ArcGISDynamicMapServiceLayer.LayerDefinitions>
                    <!-- LayerID="0" is the Earthquakes1970 layer. The Definition only displays earth quakes that have an
                              Magnitude greater than 6. The field Magnitude is of type esriFieldTypeDouble. -->
                    <!-- <esri:LayerDefinition LayerID="0" Definition="Magnitude > 6" /> -->
                    <!-- Another example where the Name of the earth quake event is to contains the letters 'CHINA'.
                              Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString. -->
                    <!-- <esri:LayerDefinition LayerID="0" Definition="Name LIKE 'CHINA'" /> -->
                    <!-- Another example where the Name of the earth quake event is exactly matches the letters 'VENEZUELA'.
                              Note: the Definition is case sensitive. The field Name is of type esriFieldTypeString. -->
                    <!-- <esri:LayerDefinition LayerID="0" Definition="Name = 'VENEZUELA'" /> -->
                    <!-- Another example where the earth quake events are displayed if they occured after January 15, 2008. 
                              The field Date_ is of type esriFieldTypeDate. -->
                    <!-- <esri:LayerDefinition LayerID="0" Definition="Date_ > DATE '1/15/2008'" />-->
                </esri:ArcGISDynamicMapServiceLayer.LayerDefinitions>
            </esri:ArcGISDynamicMapServiceLayer>
            <!--<esri:ArcGISDynamicMapServiceLayer ID="Base Map"
                    Url="http://ccmcd-gis/ArcGIS/rest/services/Citrus_Base/MapServer" />-->
        </esri:Map>
        
        <!-- Main Menu -->
        <Grid HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10" >
            <userControls:CollapsiblePanel x:Name="MainManu" IsExpanded="True" 
                                           RenderTransformOrigin="0,0"
                                           VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
                <Border Style="{StaticResource CommonBorder}">
                    <StackPanel Margin="3">
                        <Grid x:Name="BannerGrid" Grid.Row="0" Margin="30,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="30" />
                                <RowDefinition Height="3" />
                                <RowDefinition Height="17" />
                            </Grid.RowDefinitions>
                            <!-- Application Title -->
                            <TextBlock x:Name="title" Margin="0,0,15,0" Style="{StaticResource Title}" 
                                       Text="{StaticResource ApplicationTitle}" Grid.Row="0" />
                            <Rectangle x:Name="separatorBar" Fill="CornflowerBlue" Grid.Row="1" />
                            <!-- Application Subtitle -->
                            <TextBlock x:Name="subtitle" Style="{StaticResource Subtitle}" 
                                       Text="{StaticResource ApplicationSubtitle}" Grid.Row="2" />
                        </Grid>
                        <Canvas HorizontalAlignment="Left" Height="25" Width="Auto"
                                VerticalAlignment="Bottom" Margin="10,10,10,-5">
                            <StackPanel Orientation="Horizontal">
                                <Button x:Name="myMenu" Style="{StaticResource MenuButton}" 
                                        ToolTipService.ToolTip="Menu">
                                    <Button.Content>
                                        <Image Source="Images/i_globe.png" Stretch="Fill" />
                                    </Button.Content>
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="MouseEnter">
                                            <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                                                <ei:ChangePropertyAction.Value>
                                                    <Visibility>Visible</Visibility>
                                                </ei:ChangePropertyAction.Value>
                                            </ei:ChangePropertyAction>
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </Button>
                                <Button x:Name="btnAbout" Style="{StaticResource MenuButton}" 
                                        ToolTipService.ToolTip="About ESRI ArcGIS Mapping Application">
                                    <Button.Content>
                                        <Image Source="Images/i_about.png" Stretch="Fill" />
                                    </Button.Content>
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="MouseEnter">
                                            <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                                                <ei:ChangePropertyAction.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </ei:ChangePropertyAction.Value>
                                            </ei:ChangePropertyAction>
                                        </i:EventTrigger>
                                        <i:EventTrigger EventName="Click">
                                            <actions:ToggleVisibilityAction TargetName="AboutWindow" />
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </Button>
                            </StackPanel>
                        </Canvas>
                    </StackPanel>
                </Border>
            </userControls:CollapsiblePanel>
            <Image Source="Images/logo.png" HorizontalAlignment="Left" VerticalAlignment="Top" 
                   Stretch="Fill" Height="40" Width="40" Margin="-10" 
                   ToolTipService.ToolTip="Expand/Collapse Menu Bar">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="MouseLeftButtonDown">
                        <actions:ToggleCollapseAction TargetName="MainManu" />
                    </i:EventTrigger>
                    <i:EventTrigger EventName="MouseLeftButtonDown">
                        <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                            <ei:ChangePropertyAction.Value>
                                <Visibility>Collapsed</Visibility>
                            </ei:ChangePropertyAction.Value>
                        </ei:ChangePropertyAction>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </Image>
        </Grid>
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		
        <!-- The SubMenus -->
        <Grid x:Name="myMenuItems" HorizontalAlignment="Left" VerticalAlignment="Top"
              Margin="30,112">
            <Border Style="{StaticResource CommonBorder}" Padding="10,3,10,3">
                <StackPanel>
                    <Button x:Name="myMenuItem1" 
                            Style="{StaticResource MenuItem}" 
                            ToolTipService.ToolTip="Your First Menu Here!" Content="LayerDef 1" Click="myMenuItem1_Click" />
                    <Button x:Name="myMenuItem2" 
                            Style="{StaticResource MenuItem}" 
                            ToolTipService.ToolTip="Your Second Menu Here!" 
                            Content="LayerDef 2" Click="myMenuItem2_Click" />
                    <Button x:Name="myMenuItem3" 
                            Style="{StaticResource MenuItem}" 
                            ToolTipService.ToolTip="Your Third Menu Here!" 
                            Content="Clear LayerDef" Click="myMenuItem3_Click" />
                </StackPanel>
            </Border>
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseLeave">
                    <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                     <ei:ChangePropertyAction.Value>
                      <Visibility>Collapsed</Visibility>
                     </ei:ChangePropertyAction.Value>
                    </ei:ChangePropertyAction>
                </i:EventTrigger>
                <i:EventTrigger EventName="Loaded">
                 <ei:ChangePropertyAction TargetName="myMenuItems" PropertyName="Visibility">
                  <ei:ChangePropertyAction.Value>
                   <Visibility>Collapsed</Visibility>
                  </ei:ChangePropertyAction.Value>
                 </ei:ChangePropertyAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </Grid>
        <!-- StackPanel containing the Base Map Switcher and the Application Toolbar -->
        <StackPanel Orientation="Horizontal" 
                    HorizontalAlignment="Right" Margin="0,5,5,0" VerticalAlignment="Top" >
            <!-- Base Map Switcher -->
   <Border x:Name="BaseMapSwitcher"  Style="{StaticResource CommonBorder}"  VerticalAlignment="Top" HorizontalAlignment="Right" Margin="5">
    <StackPanel Orientation="Horizontal" Margin="5">
     <RadioButton Content="Streets" IsChecked="True"
       ToolTipService.ToolTip="Worldwide Street Map"
       GroupName="BaseLayer"
       Margin="5,0,0,0" Foreground="White" FontSize="11" >
      <i:Interaction.Triggers>
       <i:EventTrigger EventName="Checked">
        <actions:SetLayerUrlAction TargetName="Map" LayerID="BaseLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
       </i:EventTrigger>
      </i:Interaction.Triggers>
     </RadioButton>
     <RadioButton Content="Topo"
       GroupName="BaseLayer"
       ToolTipService.ToolTip="United States Topographic Map"
       Margin="5,0,0,0" Foreground="White" FontSize="11" >
      <i:Interaction.Triggers>
       <i:EventTrigger EventName="Checked">
        <actions:SetLayerUrlAction TargetName="Map" LayerID="BaseLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer"/>
       </i:EventTrigger>
      </i:Interaction.Triggers>
     </RadioButton>
     <RadioButton Content="Imagery"
       ToolTipService.ToolTip="Worldwide Satellite Imagery Map"
       GroupName="BaseLayer"
       Margin="5,0,0,0" Foreground="White" FontSize="11" >
      <i:Interaction.Triggers>
       <i:EventTrigger EventName="Checked">
        <actions:SetLayerUrlAction TargetName="Map" LayerID="BaseLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"/>
       </i:EventTrigger>
      </i:Interaction.Triggers>
     </RadioButton>
    </StackPanel>
   </Border>
           
            <!-- Toolbar -->
            <Grid Margin="5">
                <userControls:CollapsiblePanel x:Name="MainToolbar" IsExpanded="True" 
                                               RenderTransformOrigin="1,0"
                                               VerticalContentAlignment="Stretch"
                                               HorizontalContentAlignment="Stretch" Margin="0,0,5,0">
                        <Grid HorizontalAlignment="Left" Effect="{StaticResource dropShadow}">
                            <Border Style="{StaticResource CommonBorder}" Margin="0,0,0,18" Effect="{x:Null}" />
                            <StackPanel Orientation="Horizontal" Margin="0,7,15,0">
                                <Button x:Name="btnToggleBaseMapSwitcher" Style="{StaticResource ToolbarButton}" 
                                        ToolTipService.ToolTip="Toggle visibility of the base map switcher">
                                    <Button.Content>
                                        <Image Source="Images/i_clickglobe.png" Stretch="Fill" />
                                    </Button.Content>
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="Click">
                                            <actions:ToggleVisibilityAction TargetName="BaseMapSwitcher" />
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </Button>
                            <Button x:Name="btnToggleOverviewMap" Style="{StaticResource ToolbarButton}" 
                                    ToolTipService.ToolTip="Toggle visibility of the overview map">
                                    <Button.Content>
                                        <Image Source="Images/i_overview.png" Stretch="Fill" />
                                    </Button.Content>
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="Click">
                                            <actions:ToggleVisibilityAction TargetName="OverviewMapPanel" />
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </Button>
                            <Button x:Name="btnToggleMagnifyingGlass" Style="{StaticResource ToolbarButton}" 
                                    ToolTipService.ToolTip="Toggle visibility of the magnifying glass">
                                <Button.Content>
                                        <Image Source="Images/i_magnifyglass.png" Stretch="Fill" />
                                    </Button.Content>
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="Click">
                                            <actions:ToggleVisibilityAction TargetName="MagnifyingGlass" />
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </Button>
                            </StackPanel>
                        </Grid>
                </userControls:CollapsiblePanel>
                <Image Source="Images/i_tools.png" HorizontalAlignment="Right" 
                   VerticalAlignment="Top" Stretch="Fill" Height="30" Width="30" Margin="-5" 
                   ToolTipService.ToolTip="Expand/Collapse Toolbar">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="MouseLeftButtonDown">
                            <actions:ToggleCollapseAction TargetName="MainToolbar" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </Image>
            </Grid>
        </StackPanel>
        <!-- Navigator -->
        <esri:Navigation  x:Name="Navigator" HorizontalAlignment="Left" VerticalAlignment="Bottom" 
                                 Margin="40,0,0,30"
         Map="{Binding ElementName=Map}" />
        <!-- Scale Bar -->
        <userControls:ScaleBar x:Name="ScaleBar" MapUnit="Meters" Map="{Binding ElementName=Map}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="20,0,0,10" />
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		
        <!-- Overview Map Window -->
        <userControls:WindowPanel x:Name="OverviewMapPanel" Width="212" Height="231" 
          VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,89,10,0">
         <i:Interaction.Triggers>
          <i:EventTrigger EventName="Loaded">
           <ei:ChangePropertyAction PropertyName="Visibility">
            <ei:ChangePropertyAction.Value>
             <Visibility>Collapsed</Visibility>
            </ei:ChangePropertyAction.Value>
           </ei:ChangePropertyAction>
          </i:EventTrigger>
         </i:Interaction.Triggers>
            <esri:OverviewMap x:Name="OVMap" Margin="0" 
         Map="{Binding ElementName=Map}">
                <esri:OverviewMap.Layer>
                    <esri:ArcGISTiledMapServiceLayer Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
                </esri:OverviewMap.Layer>
            </esri:OverviewMap>
            <userControls:WindowPanel.ContentTitle>
                <StackPanel Orientation="Horizontal">
                    <Image Source="Images/i_overview.png" 
                           HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="Fill" 
                           Width="20" Height="20" Margin="5,2,0,0" />
                    <TextBlock Foreground="White" FontSize="12" 
                               Text="Overview Map" Width="100" TextWrapping="NoWrap" Height="Auto" 
                               HorizontalAlignment="Left" Margin="5,3,0,0" />
                </StackPanel>
            </userControls:WindowPanel.ContentTitle>
        </userControls:WindowPanel>
        <!-- Magnifying Glass -->
  <esri:MagnifyingGlass x:Name="MagnifyingGlass" HorizontalAlignment="Left" VerticalAlignment="Top"
           Map="{Binding ElementName=Map}" Margin="50,150,0,0" Visibility="Collapsed">
   <esri:MagnifyingGlass.Layer>
    <esri:ArcGISTiledMapServiceLayer Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
   </esri:MagnifyingGlass.Layer>
  </esri:MagnifyingGlass>
        <!-- About Window -->
        <userControls:WindowPanel x:Name="AboutWindow" Width="375" Height="150" Visibility="Collapsed"  Effect="{StaticResource dropShadow}"
                                  Background="{StaticResource CommonBackgroundBrush}"
          VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
            <StackPanel Orientation="Vertical">
                <TextBlock Style="{StaticResource Title}" TextWrapping="NoWrap" 
                           Text="{StaticResource ApplicationTitle}" Width="Auto" Height="Auto" 
                           Margin="5,3,0,0" />
                <TextBlock Style="{StaticResource Subtitle}" TextWrapping="NoWrap" 
                           Text="{StaticResource ApplicationSubtitle}" Width="Auto" Height="Auto" 
                           Margin="5,1,0,0" />
                <Line X1="5" Y1="50" X2="355" Y2="50" Stroke="White" StrokeThickness="0.25" />
                <TextBlock Foreground="Yellow" FontSize="11" Width="Auto" TextWrapping="NoWrap" 
                           Text="{StaticResource ApplicationInfo}" Height="Auto" 
                           HorizontalAlignment="Left" Margin="5,3,0,0" />
            </StackPanel>
            <userControls:WindowPanel.ContentTitle>
                <StackPanel Orientation="Horizontal">
                    <Image Source="Images/logo.png" 
                           HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="Fill" 
                           Width="20" Height="20" Margin="5,2,0,0" />
                    <TextBlock Foreground="White" FontSize="12" 
                               Text="About" Width="100" TextWrapping="NoWrap" Height="Auto" 
                               HorizontalAlignment="Left" Margin="5,3,0,0" />
                </StackPanel>
            </userControls:WindowPanel.ContentTitle>
        </userControls:WindowPanel>
    </Grid>
</UserControl>