LEADTOOLS WPF and Silverlight (Leadtools.Windows.Controls assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
InteractiveMode Property
See Also 
Leadtools.Windows.Controls Namespace > ImageViewer Class : InteractiveMode Property



Gets or sets a value that indicates the current user interaction mode with the control's display. This is a dependency property. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Property InteractiveMode As InteractiveMode
Visual Basic (Usage)Copy Code
Dim instance As ImageViewer
Dim value As InteractiveMode
 
instance.InteractiveMode = value
 
value = instance.InteractiveMode
C# 
public InteractiveMode InteractiveMode {get; set;}
C++/CLI 
public:
property InteractiveMode InteractiveMode {
   InteractiveMode get();
   void set (    InteractiveMode value);
}

Property Value

An InteractiveMode enumeration member that indicates the current user interaction mode with the control's display. Default value is InteractiveMode.None.

Example

This example changes between interactive modes -- from none, to pan, to magnifying glass and back to none.

Visual BasicCopy Code
Private Sub viewer_InteractiveModeChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim viewer As ImageViewer = TryCast(sender, ImageViewer)
    Dim s As String = String.Format("InteractiveMode changed to: {0}", viewer.InteractiveMode.ToString())
    MessageBox.Show(s)
End Sub
Public Sub BitmapSourceViewer_InteractiveMode(ByVal viewer As ImageViewer)
    AddHandler viewer.InteractiveModeChanged, AddressOf viewer_InteractiveModeChanged
    AddHandler viewer.InteractivePan, AddressOf viewer_InteractivePan

    Select Case viewer.InteractiveMode
        Case InteractiveMode.None
            viewer.InteractiveMode = InteractiveMode.Pan

        Case InteractiveMode.Pan
            viewer.InteractiveMode = InteractiveMode.MagnifyGlass

        Case InteractiveMode.MagnifyGlass
            viewer.InteractiveMode = InteractiveMode.ZoomTo

        Case InteractiveMode.ZoomTo
            viewer.InteractiveMode = InteractiveMode.None
    End Select

    RemoveHandler viewer.InteractiveModeChanged, AddressOf viewer_InteractiveModeChanged
End Sub
C#Copy Code
private void viewer_InteractiveModeChanged(object sender, RoutedEventArgs e)
{
   ImageViewer viewer = sender as ImageViewer;
   string s = string.Format("InteractiveMode changed to: {0}", viewer.InteractiveMode.ToString());
   MessageBox.Show(s);
}
public void BitmapSourceViewer_InteractiveMode(ImageViewer viewer)
{
   viewer.InteractiveModeChanged += new RoutedPropertyChangedEventHandler<InteractiveMode>(viewer_InteractiveModeChanged);
   viewer.InteractivePan +=new EventHandler<LineInteractiveEventArgs>(viewer_InteractivePan);

   switch(viewer.InteractiveMode)
   {
      case InteractiveMode.None:
         viewer.InteractiveMode = InteractiveMode.Pan;
         break;

      case InteractiveMode.Pan:
         viewer.InteractiveMode = InteractiveMode.MagnifyGlass;
         break;

      case InteractiveMode.MagnifyGlass:
         viewer.InteractiveMode = InteractiveMode.ZoomTo;
         break;

      case InteractiveMode.ZoomTo:
         viewer.InteractiveMode = InteractiveMode.None;
         break;
   }

   viewer.InteractiveModeChanged -= new RoutedPropertyChangedEventHandler<InteractiveMode>(viewer_InteractiveModeChanged);
}
SilverlightCSharpCopy Code
private void viewer_InteractiveModeChanged(object sender, RoutedEventArgs e)
{
   ImageViewer viewer = sender as ImageViewer;
   string s = string.Format("InteractiveMode changed to: {0}", viewer.InteractiveMode.ToString());
   MessageBox.Show(s);
}
public void BitmapSourceViewer_InteractiveMode(ImageViewer viewer)
{
   viewer.InteractiveModeChanged += new RoutedPropertyChangedEventHandler<InteractiveMode>(viewer_InteractiveModeChanged);
   viewer.InteractivePan +=new EventHandler<LineInteractiveEventArgs>(viewer_InteractivePan);

   switch(viewer.InteractiveMode)
   {
      case InteractiveMode.None:
         viewer.InteractiveMode = InteractiveMode.Pan;
         break;

      case InteractiveMode.Pan:
         viewer.InteractiveMode = InteractiveMode.MagnifyGlass;
         break;

      case InteractiveMode.MagnifyGlass:
         viewer.InteractiveMode = InteractiveMode.ZoomTo;
         break;

      case InteractiveMode.ZoomTo:
         viewer.InteractiveMode = InteractiveMode.None;
         break;
   }

   viewer.InteractiveModeChanged -= new RoutedPropertyChangedEventHandler<InteractiveMode>(viewer_InteractiveModeChanged);
}
SilverlightVBCopy Code
Private Sub viewer_InteractiveModeChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
   Dim viewer As ImageViewer = TryCast(sender, ImageViewer)
   Dim s As String = String.Format("InteractiveMode changed to: {0}", viewer.InteractiveMode.ToString())
   MessageBox.Show(s)
End Sub
Public Sub BitmapSourceViewer_InteractiveMode(ByVal viewer As ImageViewer)
   AddHandler viewer.InteractiveModeChanged, AddressOf viewer_InteractiveModeChanged
   AddHandler viewer.InteractivePan, AddressOf viewer_InteractivePan

   Select Case viewer.InteractiveMode
      Case InteractiveMode.None
         viewer.InteractiveMode = InteractiveMode.Pan

      Case InteractiveMode.Pan
         viewer.InteractiveMode = InteractiveMode.MagnifyGlass

      Case InteractiveMode.MagnifyGlass
         viewer.InteractiveMode = InteractiveMode.ZoomTo

      Case InteractiveMode.ZoomTo
         viewer.InteractiveMode = InteractiveMode.None
   End Select

   RemoveHandler viewer.InteractiveModeChanged, AddressOf viewer_InteractiveModeChanged
End Sub
XAMLCopy Code
<Window x:Class="WPFSamples.ImageViewer" Height="600" Width="800" Title="InteractiveMode Sample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Leadtools_Windows_Controls="clr-namespace:Leadtools.Windows.Controls;assembly=Leadtools.Windows.Controls">
  <DockPanel>
    <Leadtools_Windows_Controls:ImageViewer Name="theViewer" Source="file:///c:\users\Public\Documents\LEADTOOLS Images\cannon.jpg" DockPanel.Dock="Bottom" HorizontalAlignment="Center" VerticalAlignment="Center" InteractiveMode="Scale" InteractiveModeChanged="theViewer_InteractiveModeChanged" />
  </DockPanel>
</Window>

Remarks

You can change the mouse cursor associated with a particular interactive mode with the SetInteractiveModeCursor method. For descriptions of the various interactive mode available, refer to InteractiveMode.

Requirements

Target Platforms: Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also