VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.Wpf.UI.VisualTools Namespace / WpfTextSelectionTool Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
WpfTextSelectionTool Class
In This Topic
A visual tool that allows to select and search text on PDF or DOCX page in image viewer.
Object Model
TextRegionFormatter TextRegion TextRegion IObjectClipboard TextRegionSymbol CopyItemUIAction SelectAllItemsUIAction DeselectAllItemsUIAction WpfImageViewer WpfTextSelectionTool
Syntax
'Declaration

<ToolboxItemAttribute("ToolboxItemType = null", "ToolboxItemTypeName = ")>
<DesignTimeVisibleAttribute("Visible = False")>
<DefaultPropertyAttribute("Content")>
<ContentPropertyAttribute("Content")>
<LocalizabilityAttribute(None)>
<StyleTypedPropertyAttribute("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")>
<XmlLangPropertyAttribute("Name = Language")>
<UsableDuringInitializationAttribute("Usable = True")>
<RuntimeNamePropertyAttribute("Name = Name")>
<UidPropertyAttribute()>
<TypeDescriptionProviderAttribute("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")>
<NameScopePropertyAttribute("Name = NameScope", "Type = System.Windows.NameScope")>
Public Class WpfTextSelectionTool
   Inherits WpfVisualTool
   Implements ISupportUIActions

[ToolboxItem("ToolboxItemType = null", "ToolboxItemTypeName = ")]
[DesignTimeVisible("Visible = False")]
[DefaultProperty("Content")]
[ContentProperty("Content")]
[Localizability(None)]
[StyleTypedProperty("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")]
[XmlLangProperty("Name = Language")]
[UsableDuringInitialization("Usable = True")]
[RuntimeNameProperty("Name = Name")]
[UidProperty()]
[TypeDescriptionProvider("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")]
[NameScopeProperty("Name = NameScope", "Type = System.Windows.NameScope")]
public class WpfTextSelectionTool : WpfVisualTool, ISupportUIActions

Example

This C#/VB.NET code shows how to search text in document loaded into WPF image viewer.


Public Partial Class TextSelectionWindow
    Inherits System.Windows.Window
    ' ...
    Private _imageViewer As Vintasoft.Imaging.Wpf.UI.WpfImageViewer = Nothing
    Private _textSelectionTool As Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextSelectionTool = Nothing



    Public Sub New()
        ' ...

        ' create the text selection tool
        _textSelectionTool = New Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextSelectionTool(New System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(56, 0, 0, 255)))

        ' subscribe to the text selection tool events
        AddHandler _textSelectionTool.SelectionChanged, New System.EventHandler(AddressOf _textSelectionTool_SelectionChanged)

        ' set the text selection tool as the current tool in image viewer
        _imageViewer.VisualTool = _textSelectionTool
    End Sub



    '  Handles the TextSelectionTool.Selection event.
    Private Sub _textSelectionTool_SelectionChanged(sender As Object, e As System.EventArgs)
        ' if text selection is not empty
        If _textSelectionTool.SelectedRegion IsNot Nothing AndAlso Not _textSelectionTool.SelectedRegion.IsEmpty Then
            ' show the text selection content
            System.Windows.MessageBox.Show(_textSelectionTool.SelectedRegion.TextContent)
        End If
    End Sub

End Class


public partial class TextSelectionWindow : System.Windows.Window
{
    // ...
    Vintasoft.Imaging.Wpf.UI.WpfImageViewer _imageViewer = null;
    Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextSelectionTool _textSelectionTool = null;



    public TextSelectionWindow()
    {
        // ...

        // create the text selection tool
        _textSelectionTool = new Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextSelectionTool(
            new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(56, 0, 0, 255)));

        // subscribe to the text selection tool events
        _textSelectionTool.SelectionChanged += new System.EventHandler(_textSelectionTool_SelectionChanged);

        // set the text selection tool as the current tool in image viewer
        _imageViewer.VisualTool = _textSelectionTool;
    }



    //  Handles the TextSelectionTool.Selection event.
    private void _textSelectionTool_SelectionChanged(object sender, System.EventArgs e)
    {
        // if text selection is not empty
        if (_textSelectionTool.SelectedRegion != null && !_textSelectionTool.SelectedRegion.IsEmpty)
            // show the text selection content
            System.Windows.MessageBox.Show(_textSelectionTool.SelectedRegion.TextContent);
    }

}

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Media.Visual
            System.Windows.UIElement
               System.Windows.FrameworkElement
                  System.Windows.Controls.Control
                     System.Windows.Controls.ContentControl
                        Vintasoft.Imaging.Wpf.UI.VisualTools.WpfVisualTool
                           Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextSelectionTool
                              Vintasoft.Imaging.Office.OpenXml.Wpf.UI.VisualTools.UserInteraction.WpfOfficeDocumentVisualEditorTextTool

Requirements

Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also