# C1.WPF.RichTextBox.C1LengthTool

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_WPF_RichTextBox_C1LengthTool" data-uid="C1.WPF.RichTextBox.C1LengthTool" class="text-break">C1LengthTool Class
</h1>
  <div class="markdown level0 summary"><p>Abstract base class of tools that edit C1Length.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.threading.dispatcherobject">DispatcherObject</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.dependencyobject">DependencyObject</a></div>
    <div class="level3"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.media.visual">Visual</a></div>
    <div class="level4"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.uielement">UIElement</a></div>
    <div class="level5"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.frameworkelement">FrameworkElement</a></div>
    <div class="level6"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.controls.control">Control</a></div>
    <div class="level7"><span class="xref">C1LengthTool</span></div>
      <div class="level8"><a class="xref" href="C1.WPF.RichTextBox.C1ColumnWidthTool.html">C1ColumnWidthTool</a></div>
      <div class="level8"><a class="xref" href="C1.WPF.RichTextBox.C1RowHeightTool.html">C1RowHeightTool</a></div>
      <div class="level8"><a class="xref" href="C1.WPF.RichTextBox.C1TableWidthTool.html">C1TableWidthTool</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.media.animation.ianimatable">IAnimatable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.iframeworkinputelement">IFrameworkInputElement</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.iinputelement">IInputElement</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.isupportinitialize">ISupportInitialize</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.markup.iqueryambient">IQueryAmbient</a></div>
    <div><a class="xref" href="C1.WPF.RichTextBox.IUpdateableTool.html">IUpdateableTool</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.WPF.RichTextBox.html">C1.WPF.RichTextBox</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.RichTextBox.Toolbar.4.6.2.dll</h6>
  <h5 id="C1_WPF_RichTextBox_C1LengthTool_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[TemplatePart(Name = &quot;Value&quot;, Type = typeof(C1NumericBox))]
[TemplatePart(Name = &quot;Unit&quot;, Type = typeof(ComboBox))]
[TemplateVisualState(Name = &quot;MouseOver&quot;, GroupName = &quot;CommonStates&quot;)]
[TemplateVisualState(Name = &quot;Disabled&quot;, GroupName = &quot;CommonStates&quot;)]
[TemplateVisualState(Name = &quot;Normal&quot;, GroupName = &quot;CommonStates&quot;)]
public abstract class C1LengthTool : Control, IAnimatable, IFrameworkInputElement, IInputElement, ISupportInitialize, IQueryAmbient, IUpdateableTool</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;TemplatePart(Name:=&quot;Value&quot;, Type:=GetType(C1NumericBox))&gt;
&lt;TemplatePart(Name:=&quot;Unit&quot;, Type:=GetType(ComboBox))&gt;
&lt;TemplateVisualState(Name:=&quot;MouseOver&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
&lt;TemplateVisualState(Name:=&quot;Disabled&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
&lt;TemplateVisualState(Name:=&quot;Normal&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
Public MustInherit Class C1LengthTool
    Inherits Control
    Implements IAnimatable, IFrameworkInputElement, IInputElement, ISupportInitialize, IQueryAmbient, IUpdateableTool</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool__ctor" data-uid="C1.WPF.RichTextBox.C1LengthTool.#ctor">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.-ctor.html#C1_WPF_RichTextBox_C1LengthTool__ctor">C1LengthTool()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of a <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.html">C1LengthTool</a>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_HeaderTemplateProperty" data-uid="C1.WPF.RichTextBox.C1LengthTool.HeaderTemplateProperty">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.HeaderTemplateProperty.html">HeaderTemplateProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.HeaderTemplate.html#C1_WPF_RichTextBox_C1LengthTool_HeaderTemplate">HeaderTemplate</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_LengthProperty" data-uid="C1.WPF.RichTextBox.C1LengthTool.LengthProperty">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.LengthProperty.html">LengthProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.Length.html#C1_WPF_RichTextBox_C1LengthTool_Length">Length</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_RichTextBoxProperty" data-uid="C1.WPF.RichTextBox.C1LengthTool.RichTextBoxProperty">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.RichTextBoxProperty.html">RichTextBoxProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.RichTextBox.html#C1_WPF_RichTextBox_C1LengthTool_RichTextBox">RichTextBox</a> dependency property.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_HeaderTemplate" data-uid="C1.WPF.RichTextBox.C1LengthTool.HeaderTemplate">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.HeaderTemplate.html#C1_WPF_RichTextBox_C1LengthTool_HeaderTemplate">HeaderTemplate</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the header template.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_Length" data-uid="C1.WPF.RichTextBox.C1LengthTool.Length">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.Length.html#C1_WPF_RichTextBox_C1LengthTool_Length">Length</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the length value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_RichTextBox" data-uid="C1.WPF.RichTextBox.C1LengthTool.RichTextBox">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.RichTextBox.html#C1_WPF_RichTextBox_C1LengthTool_RichTextBox">RichTextBox</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the <a class="xref" href="../C1.WPF.RichTextBox.4.6.2/C1.WPF.RichTextBox.C1RichTextBox.html">C1RichTextBox</a> this tool edits.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_Units" data-uid="C1.WPF.RichTextBox.C1LengthTool.Units">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.Units.html#C1_WPF_RichTextBox_C1LengthTool_Units">Units</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_ChangeVisualStateCommon_System_Boolean_" data-uid="C1.WPF.RichTextBox.C1LengthTool.ChangeVisualStateCommon(System.Boolean)">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.ChangeVisualStateCommon.html#C1_WPF_RichTextBox_C1LengthTool_ChangeVisualStateCommon_System_Boolean_">ChangeVisualStateCommon(bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Updates the current visual state of the Common visual state group to match the object's properties.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_GetValue_C1_WPF_RichTextBox_Documents_C1TextRange_" data-uid="C1.WPF.RichTextBox.C1LengthTool.GetValue(C1.WPF.RichTextBox.Documents.C1TextRange)">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.GetValue.html#C1_WPF_RichTextBox_C1LengthTool_GetValue_C1_WPF_RichTextBox_Documents_C1TextRange_">GetValue(C1TextRange)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_OnApplyTemplate" data-uid="C1.WPF.RichTextBox.C1LengthTool.OnApplyTemplate">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.OnApplyTemplate.html#C1_WPF_RichTextBox_C1LengthTool_OnApplyTemplate">OnApplyTemplate()</a>
        </td>
        <td class="markdown level1 summary"><p>Builds the visual tree for the <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.html">C1LengthTool</a> control when a new template is applied.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_OnPropertyChanged_System_Windows_DependencyPropertyChangedEventArgs_" data-uid="C1.WPF.RichTextBox.C1LengthTool.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.OnPropertyChanged.html#C1_WPF_RichTextBox_C1LengthTool_OnPropertyChanged_System_Windows_DependencyPropertyChangedEventArgs_">OnPropertyChanged(DependencyPropertyChangedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"><p>Invoked whenever the effective value of any dependency property has been updated.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_SetValue_C1_WPF_RichTextBox_Documents_C1TextRange_C1_WPF_RichTextBox_Documents_C1Length_" data-uid="C1.WPF.RichTextBox.C1LengthTool.SetValue(C1.WPF.RichTextBox.Documents.C1TextRange,C1.WPF.RichTextBox.Documents.C1Length)">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.SetValue.html#C1_WPF_RichTextBox_C1LengthTool_SetValue_C1_WPF_RichTextBox_Documents_C1TextRange_C1_WPF_RichTextBox_Documents_C1Length_">SetValue(C1TextRange, C1Length)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_Update" data-uid="C1.WPF.RichTextBox.C1LengthTool.Update">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.Update.html#C1_WPF_RichTextBox_C1LengthTool_Update">Update()</a>
        </td>
        <td class="markdown level1 summary"><p>Method called when the tool should update its state.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_IsMouseOverChanged" data-uid="C1.WPF.RichTextBox.C1LengthTool.IsMouseOverChanged">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.IsMouseOverChanged.html">IsMouseOverChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Event raised when the <span class="xref">IsMouseOver</span> property has changed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_RichTextBox_C1LengthTool_LengthChanged" data-uid="C1.WPF.RichTextBox.C1LengthTool.LengthChanged">
          <a class="xref" href="C1.WPF.RichTextBox.C1LengthTool.LengthChanged.html">LengthChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Event raised when the <span class="xref">Length</span> property has changed.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
