LEADTOOLS Annotations for WPF and Silverlight (Leadtools.Windows.Annotations assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.31
CurrentDesigner Property
See Also 
Leadtools.Windows.Annotations Namespace > AnnAutomation Class : CurrentDesigner Property



The CurrentDesigner Property supports WPF/Silverlight.

The CurrentDesigner Property is available in LEADTOOLS Document and Medical Imaging toolkits.

Gets the current working designer. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public ReadOnly Property CurrentDesigner As AnnDesigner
Visual Basic (Usage)Copy Code
Dim instance As AnnAutomation
Dim value As AnnDesigner
 
value = instance.CurrentDesigner
C# 
public AnnDesigner CurrentDesigner {get;}
C++/CLI 
public:
property AnnDesigner^ CurrentDesigner {
   AnnDesigner^ get();
}

Property Value

The current working AnnDesigner derived object

Example

This example subscribes to the CurrentDesignerChanged event of an AnnAutomation object and the Run event of the AnnDrawDesigner to show an information message box when an object is clicked while in Run user mode.

Visual BasicCopy Code
Private Sub AnnAutomation_CurrentDesigner(ByVal automation As AnnAutomation)
   ' subscribe to the DesignerChanged event of the automation
   AddHandler automation.CurrentDesignerChanged, AddressOf automation_CurrentDesignerChanged
End Sub
Private Sub automation_CurrentDesignerChanged(ByVal sender As Object, ByVal e As EventArgs)
   ' check if the current designer is a run designer
   Dim automation As AnnAutomation = DirectCast(sender, AnnAutomation)
   If Not automation.CurrentDesigner Is Nothing AndAlso TypeOf automation.CurrentDesigner Is AnnRunDesigner Then
      Dim runDesigner As AnnRunDesigner = DirectCast(automation.CurrentDesigner, AnnRunDesigner)
      ' subscribe to this run designer Run event
      AddHandler runDesigner.Run, AddressOf runDesigner_Run
   End If
End Sub

Private Sub runDesigner_Run(ByVal sender As Object, ByVal e As AnnRunDesignerEventArgs)
   If e.OperationStatus = AnnDesignerOperationStatus.End Then
      Dim message As String = String.Format("Run object of type {0}, hyperlink = {1}", e.Object.GetType().Name, e.Object.Hyperlink)
      MessageBox.Show(message)
   End If
End Sub
C#Copy Code
private void AnnAutomation_CurrentDesigner(AnnAutomation automation)
{
   // subscribe to the DesignerChanged event of the automation
   automation.CurrentDesignerChanged += new EventHandler(automation_CurrentDesignerChanged);
}
private void automation_CurrentDesignerChanged(object sender, EventArgs e)
{
   // check if the current designer is a run designer
   AnnAutomation automation = sender as AnnAutomation;
   if(automation.CurrentDesigner != null && automation.CurrentDesigner is AnnRunDesigner)
   {
      AnnRunDesigner runDesigner = automation.CurrentDesigner as AnnRunDesigner;
      // subscribe to this run designer Run event
      runDesigner.Run += new EventHandler<AnnRunDesignerEventArgs>(runDesigner_Run);
   }
}

private void runDesigner_Run(object sender, AnnRunDesignerEventArgs e)
{
   if(e.OperationStatus == AnnDesignerOperationStatus.End)
   {
      string message = string.Format("Run object of type {0}, hyperlink = {1}", e.Object.GetType().Name, e.Object.Hyperlink);
      MessageBox.Show(message);
   }
}
SilverlightCSharpCopy Code
private void AnnAutomation_CurrentDesigner(AnnAutomation automation)
{
   // subscribe to the DesignerChanged event of the automation
   automation.CurrentDesignerChanged += new EventHandler(automation_CurrentDesignerChanged);
}
private void automation_CurrentDesignerChanged(object sender, EventArgs e)
{
   // check if the current designer is a run designer
   AnnAutomation automation = sender as AnnAutomation;
   if(automation.CurrentDesigner != null && automation.CurrentDesigner is AnnRunDesigner)
   {
      AnnRunDesigner runDesigner = automation.CurrentDesigner as AnnRunDesigner;
      // subscribe to this run designer Run event
      runDesigner.Run += new EventHandler<AnnRunDesignerEventArgs>(runDesigner_Run);
   }
}

private void runDesigner_Run(object sender, AnnRunDesignerEventArgs e)
{
   if(e.OperationStatus == AnnDesignerOperationStatus.End)
   {
      string message = string.Format("Run object of type {0}, hyperlink = {1}", e.Object.GetType().Name, e.Object.Hyperlink);
      MessageBox.Show(message);
   }
}
SilverlightVBCopy Code
Private Sub AnnAutomation_CurrentDesigner(ByVal automation As AnnAutomation)
   ' subscribe to the DesignerChanged event of the automation
   AddHandler automation.CurrentDesignerChanged, AddressOf automation_CurrentDesignerChanged
End Sub
Private Sub automation_CurrentDesignerChanged(ByVal sender As Object, ByVal e As EventArgs)
   ' check if the current designer is a run designer
   Dim automation As AnnAutomation = TryCast(sender, AnnAutomation)
   If Not automation.CurrentDesigner Is Nothing AndAlso TypeOf automation.CurrentDesigner Is AnnRunDesigner Then
      Dim runDesigner As AnnRunDesigner = TryCast(automation.CurrentDesigner, AnnRunDesigner)
      ' subscribe to this run designer Run event
      AddHandler runDesigner.Run, AddressOf runDesigner_Run
   End If
End Sub

Private Sub runDesigner_Run(ByVal sender As Object, ByVal e As AnnRunDesignerEventArgs)
   If e.OperationStatus = AnnDesignerOperationStatus.End Then
      Dim message As String = String.Format("Run object of type {0}, hyperlink = {1}", e.Object.GetType().Name, e.Object.Hyperlink)
      MessageBox.Show(message)
   End If
End Sub

Remarks

(Read only) At any given time, the AnnAutomation can have a working AnnDesigner derived object as follows:

Designer Base Class Notes
null (Nothing in Visual Basic) (Design and Run user mode) no designer is currently active.
AnnDrawDesigner (Design user mode) The AnnAutomation is currently drawing or about to draw a new object
AnnEditDesigner (Design user mode) One or more objects are currently being edited or are about to be edited
AnnRunDesigner (Run user mode) An object is currently being run or about to be run

This property allows you to hook into the current designer and change or monitor its status while it is running. For example, you can determine if CurrentDesigner is an AnnDrawDesigner derived class and subscribe to the AnnDrawDesigner.Draw event and so forth.

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also

CurrentDesigner requires a Document/Medical product license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features and Unlocking Special LEAD Features.