# C1.WPF.Input.C1EditableContentControl

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_WPF_Input_C1EditableContentControl" data-uid="C1.WPF.Input.C1EditableContentControl" class="text-break">C1EditableContentControl Class
</h1>
  <div class="markdown level0 summary"><p>ContentControl that supports edit mode using an editing control.</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.media.visual">Visual</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.uielement">UIElement</a></div>
    <div class="level3"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.frameworkelement">FrameworkElement</a></div>
    <div class="level4"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.controls.control">Control</a></div>
    <div class="level5"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.windows.controls.contentcontrol">ContentControl</a></div>
    <div class="level6"><span class="xref">C1EditableContentControl</span></div>
      <div class="level7"><a class="xref" href="C1.WPF.Input.C1TextEditableContentControl.html">C1TextEditableContentControl</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="https://learn.microsoft.com/dotnet/api/system.windows.markup.iaddchild">IAddChild</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.WPF.Input.html">C1.WPF.Input</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.Input.dll</h6>
  <h5 id="C1_WPF_Input_C1EditableContentControl_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[StyleTypedProperty(Property = &quot;ValidationDecoratorStyle&quot;, StyleTargetType = typeof(C1ValidationDecorator))]
[Obsolete]
[TemplateVisualState(Name = &quot;Normal&quot;, GroupName = &quot;CommonStates&quot;)]
[TemplateVisualState(Name = &quot;MouseOver&quot;, GroupName = &quot;CommonStates&quot;)]
[TemplateVisualState(Name = &quot;Focused&quot;, GroupName = &quot;CommonStates&quot;)]
[TemplateVisualState(Name = &quot;Disabled&quot;, GroupName = &quot;CommonStates&quot;)]
public abstract class C1EditableContentControl : ContentControl, IAnimatable, IFrameworkInputElement, IInputElement, ISupportInitialize, IQueryAmbient, IAddChild, IDisposable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;StyleTypedProperty(Property:=&quot;ValidationDecoratorStyle&quot;, StyleTargetType:=GetType(C1ValidationDecorator))&gt;
&lt;Obsolete&gt;
&lt;TemplateVisualState(Name:=&quot;Normal&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
&lt;TemplateVisualState(Name:=&quot;MouseOver&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
&lt;TemplateVisualState(Name:=&quot;Focused&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
&lt;TemplateVisualState(Name:=&quot;Disabled&quot;, GroupName:=&quot;CommonStates&quot;)&gt;
Public MustInherit Class C1EditableContentControl
    Inherits ContentControl
    Implements IAnimatable, IFrameworkInputElement, IInputElement, ISupportInitialize, IQueryAmbient, IAddChild, IDisposable</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_Input_C1EditableContentControl__ctor" data-uid="C1.WPF.Input.C1EditableContentControl.#ctor">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.-ctor.html#C1_WPF_Input_C1EditableContentControl__ctor">C1EditableContentControl()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.html">C1EditableContentControl</a> class.</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_Input_C1EditableContentControl_ContentControlProperty" data-uid="C1.WPF.Input.C1EditableContentControl.ContentControlProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentControlProperty.html">ContentControlProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentControl.html#C1_WPF_Input_C1EditableContentControl_ContentControl">ContentControl</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_ContentConverterProperty" data-uid="C1.WPF.Input.C1EditableContentControl.ContentConverterProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentConverterProperty.html">ContentConverterProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentConverter.html#C1_WPF_Input_C1EditableContentControl_ContentConverter">ContentConverter</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_EditControlProperty" data-uid="C1.WPF.Input.C1EditableContentControl.EditControlProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditControlProperty.html">EditControlProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditControl.html#C1_WPF_Input_C1EditableContentControl_EditControl">EditControl</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsEditableProperty" data-uid="C1.WPF.Input.C1EditableContentControl.IsEditableProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsEditableProperty.html">IsEditableProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsEditable.html#C1_WPF_Input_C1EditableContentControl_IsEditable">IsEditable</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsInEditModeProperty" data-uid="C1.WPF.Input.C1EditableContentControl.IsInEditModeProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsInEditModeProperty.html">IsInEditModeProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsInEditMode.html#C1_WPF_Input_C1EditableContentControl_IsInEditMode">IsInEditMode</a> dependency property.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_ValidationDecoratorStyleProperty" data-uid="C1.WPF.Input.C1EditableContentControl.ValidationDecoratorStyleProperty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ValidationDecoratorStyleProperty.html">ValidationDecoratorStyleProperty</a>
        </td>
        <td class="markdown level1 summary"><p>Identifies the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ValidationDecoratorStyle.html#C1_WPF_Input_C1EditableContentControl_ValidationDecoratorStyle">ValidationDecoratorStyle</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_Input_C1EditableContentControl_ContentControl" data-uid="C1.WPF.Input.C1EditableContentControl.ContentControl">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentControl.html#C1_WPF_Input_C1EditableContentControl_ContentControl">ContentControl</a>
        </td>
        <td class="markdown level1 summary"><p>Control visible when it is not in edit mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_ContentConverter" data-uid="C1.WPF.Input.C1EditableContentControl.ContentConverter">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ContentConverter.html#C1_WPF_Input_C1EditableContentControl_ContentConverter">ContentConverter</a>
        </td>
        <td class="markdown level1 summary"><p>Used to create the control content from the edited content.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_EditControl" data-uid="C1.WPF.Input.C1EditableContentControl.EditControl">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditControl.html#C1_WPF_Input_C1EditableContentControl_EditControl">EditControl</a>
        </td>
        <td class="markdown level1 summary"><p>Control visible when it is in edit mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsDirty" data-uid="C1.WPF.Input.C1EditableContentControl.IsDirty">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsDirty.html#C1_WPF_Input_C1EditableContentControl_IsDirty">IsDirty</a>
        </td>
        <td class="markdown level1 summary"><p>Get or sets whether the element was edited during edit mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsDisposed" data-uid="C1.WPF.Input.C1EditableContentControl.IsDisposed">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsDisposed.html#C1_WPF_Input_C1EditableContentControl_IsDisposed">IsDisposed</a>
        </td>
        <td class="markdown level1 summary"><p>Gets whether this instance is disposed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsEditable" data-uid="C1.WPF.Input.C1EditableContentControl.IsEditable">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsEditable.html#C1_WPF_Input_C1EditableContentControl_IsEditable">IsEditable</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets whether the control can be edited.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsFocused" data-uid="C1.WPF.Input.C1EditableContentControl.IsFocused">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsFocused.html#C1_WPF_Input_C1EditableContentControl_IsFocused">IsFocused</a>
        </td>
        <td class="markdown level1 summary"><p>Gets whether the control is focused.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_IsInEditMode" data-uid="C1.WPF.Input.C1EditableContentControl.IsInEditMode">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.IsInEditMode.html#C1_WPF_Input_C1EditableContentControl_IsInEditMode">IsInEditMode</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets whether the control is in edit mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_ValidationDecoratorStyle" data-uid="C1.WPF.Input.C1EditableContentControl.ValidationDecoratorStyle">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ValidationDecoratorStyle.html#C1_WPF_Input_C1EditableContentControl_ValidationDecoratorStyle">ValidationDecoratorStyle</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the style that is applied to the inner <a class="xref" href="C1.WPF.Input.C1ValidationDecorator.html">C1ValidationDecorator</a>.</p>
</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_Input_C1EditableContentControl_ChangeVisualStateCommon_System_Boolean_" data-uid="C1.WPF.Input.C1EditableContentControl.ChangeVisualStateCommon(System.Boolean)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ChangeVisualStateCommon.html#C1_WPF_Input_C1EditableContentControl_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_Input_C1EditableContentControl_Dispose" data-uid="C1.WPF.Input.C1EditableContentControl.Dispose">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.Dispose.html#C1_WPF_Input_C1EditableContentControl_Dispose">Dispose()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_Dispose_System_Boolean_" data-uid="C1.WPF.Input.C1EditableContentControl.Dispose(System.Boolean)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.Dispose.html#C1_WPF_Input_C1EditableContentControl_Dispose_System_Boolean_">Dispose(bool)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_Finalize" data-uid="C1.WPF.Input.C1EditableContentControl.Finalize">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.Finalize.html#C1_WPF_Input_C1EditableContentControl_Finalize">Finalize()</a>
        </td>
        <td class="markdown level1 summary"><p>Finalizes this instance of the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.html">C1EditableContentControl</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnApplyTemplate" data-uid="C1.WPF.Input.C1EditableContentControl.OnApplyTemplate">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnApplyTemplate.html#C1_WPF_Input_C1EditableContentControl_OnApplyTemplate">OnApplyTemplate()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnContentChanged_System_Object_System_Object_" data-uid="C1.WPF.Input.C1EditableContentControl.OnContentChanged(System.Object,System.Object)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnContentChanged.html#C1_WPF_Input_C1EditableContentControl_OnContentChanged_System_Object_System_Object_">OnContentChanged(object, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Called when the value of the <span class="xref">Content</span> property changes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnEditCanceled" data-uid="C1.WPF.Input.C1EditableContentControl.OnEditCanceled">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnEditCanceled.html#C1_WPF_Input_C1EditableContentControl_OnEditCanceled">OnEditCanceled()</a>
        </td>
        <td class="markdown level1 summary"><p>Fires the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditCanceled.html">EditCanceled</a> event.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnEditCompleted" data-uid="C1.WPF.Input.C1EditableContentControl.OnEditCompleted">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnEditCompleted.html#C1_WPF_Input_C1EditableContentControl_OnEditCompleted">OnEditCompleted()</a>
        </td>
        <td class="markdown level1 summary"><p>Fires the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditCompleted.html">EditCompleted</a> event.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnEditStarted" data-uid="C1.WPF.Input.C1EditableContentControl.OnEditStarted">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnEditStarted.html#C1_WPF_Input_C1EditableContentControl_OnEditStarted">OnEditStarted()</a>
        </td>
        <td class="markdown level1 summary"><p>Fires the <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditStarted.html">EditStarted</a> event.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnGotFocus_System_Windows_RoutedEventArgs_" data-uid="C1.WPF.Input.C1EditableContentControl.OnGotFocus(System.Windows.RoutedEventArgs)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnGotFocus.html#C1_WPF_Input_C1EditableContentControl_OnGotFocus_System_Windows_RoutedEventArgs_">OnGotFocus(RoutedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnIsInEditModeChanged" data-uid="C1.WPF.Input.C1EditableContentControl.OnIsInEditModeChanged">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnIsInEditModeChanged.html#C1_WPF_Input_C1EditableContentControl_OnIsInEditModeChanged">OnIsInEditModeChanged()</a>
        </td>
        <td class="markdown level1 summary"><p>The control has changed the mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnIsKeyboardFocusWithinChanged_System_Windows_DependencyPropertyChangedEventArgs_" data-uid="C1.WPF.Input.C1EditableContentControl.OnIsKeyboardFocusWithinChanged(System.Windows.DependencyPropertyChangedEventArgs)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnIsKeyboardFocusWithinChanged.html#C1_WPF_Input_C1EditableContentControl_OnIsKeyboardFocusWithinChanged_System_Windows_DependencyPropertyChangedEventArgs_">OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_OnKeyDown_System_Windows_Input_KeyEventArgs_" data-uid="C1.WPF.Input.C1EditableContentControl.OnKeyDown(System.Windows.Input.KeyEventArgs)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.OnKeyDown.html#C1_WPF_Input_C1EditableContentControl_OnKeyDown_System_Windows_Input_KeyEventArgs_">OnKeyDown(KeyEventArgs)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_ShouldEnterEditModeOnKeyDown_System_Windows_Input_Key_" data-uid="C1.WPF.Input.C1EditableContentControl.ShouldEnterEditModeOnKeyDown(System.Windows.Input.Key)">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.ShouldEnterEditModeOnKeyDown.html#C1_WPF_Input_C1EditableContentControl_ShouldEnterEditModeOnKeyDown_System_Windows_Input_Key_">ShouldEnterEditModeOnKeyDown(Key)</a>
        </td>
        <td class="markdown level1 summary"><p>Called to define if the control has to enter edit mode when a particular key is pressed.
For example: arrow keys might not change to edit mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_UpdateVisualState" data-uid="C1.WPF.Input.C1EditableContentControl.UpdateVisualState">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.UpdateVisualState.html#C1_WPF_Input_C1EditableContentControl_UpdateVisualState">UpdateVisualState()</a>
        </td>
        <td class="markdown level1 summary"><p>Update the visual state of this control</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_Input_C1EditableContentControl_EditCanceled" data-uid="C1.WPF.Input.C1EditableContentControl.EditCanceled">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditCanceled.html">EditCanceled</a>
        </td>
        <td class="markdown level1 summary"><p>Fired when the user exits edit mode without changes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_EditCompleted" data-uid="C1.WPF.Input.C1EditableContentControl.EditCompleted">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditCompleted.html">EditCompleted</a>
        </td>
        <td class="markdown level1 summary"><p>Fired when the user has completed the edits.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Input_C1EditableContentControl_EditStarted" data-uid="C1.WPF.Input.C1EditableContentControl.EditStarted">
          <a class="xref" href="C1.WPF.Input.C1EditableContentControl.EditStarted.html">EditStarted</a>
        </td>
        <td class="markdown level1 summary"><p>Fired when the control enters edit mode.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
