# C1.WPF.Schedule.ReentrantObservableCollection-1

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_WPF_Schedule_ReentrantObservableCollection_1" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1" class="text-break">ReentrantObservableCollection&lt;T&gt; Class
</h1>
  <div class="markdown level0 summary"><p>The <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.html">ReentrantObservableCollection&lt;T&gt;</a> class represents the same
interface and functionality as the <a class="xref" href="C1.WPF.Schedule.DeferrableObservableCollection-1.html">DeferrableObservableCollection&lt;T&gt;</a>
with one exception: it allows collection changing in event handlers for
the <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.CollectionChanged.html">CollectionChanged</a> event.</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.collections.objectmodel.collection-1">Collection</a>&lt;T&gt;</div>
    <div class="level2"><span class="xref">ReentrantObservableCollection&lt;T&gt;</span></div>
      <div class="level3"><a class="xref" href="C1.WPF.Schedule.DateList.html">DateList</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a>&lt;T&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1">ICollection</a>&lt;T&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ilist">IList</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.icollection">ICollection</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1">IReadOnlyList</a>&lt;T&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlycollection-1">IReadOnlyCollection</a>&lt;T&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;T&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.specialized.inotifycollectionchanged">INotifyCollectionChanged</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.inotifypropertychanged">INotifyPropertyChanged</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.WPF.Schedule.html">C1.WPF.Schedule</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.Schedule.4.6.2.dll</h6>
  <h5 id="C1_WPF_Schedule_ReentrantObservableCollection_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class ReentrantObservableCollection&lt;T&gt; : Collection&lt;T&gt;, IList&lt;T&gt;, ICollection&lt;T&gt;, IList, ICollection, IReadOnlyList&lt;T&gt;, IReadOnlyCollection&lt;T&gt;, IEnumerable&lt;T&gt;, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class ReentrantObservableCollection(Of T)
    Inherits Collection(Of T)
    Implements IList(Of T), ICollection(Of T), IList, ICollection, IReadOnlyList(Of T), IReadOnlyCollection(Of T), IEnumerable(Of T), IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <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_Schedule_ReentrantObservableCollection_1__ctor" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.#ctor">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.-ctor.html#C1_WPF_Schedule_ReentrantObservableCollection_1__ctor">ReentrantObservableCollection()</a>
        </td>
        <td class="markdown level1 summary"></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_Schedule_ReentrantObservableCollection_1_InUpdate" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.InUpdate">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.InUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_InUpdate">InUpdate</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a> value determining whether the <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.html">ReentrantObservableCollection&lt;T&gt;</a>
is in update mode (<a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.BeginUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_BeginUpdate">BeginUpdate()</a> has been called).</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_Schedule_ReentrantObservableCollection_1_BeginUpdate" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.BeginUpdate">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.BeginUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_BeginUpdate">BeginUpdate()</a>
        </td>
        <td class="markdown level1 summary"><p>Prevents raising events until the <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.EndUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_EndUpdate">EndUpdate()</a> method is called.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_ClearItems" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.ClearItems">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.ClearItems.html#C1_WPF_Schedule_ReentrantObservableCollection_1_ClearItems">ClearItems()</a>
        </td>
        <td class="markdown level1 summary"><p>Overrides the default behavior.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_EndUpdate" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.EndUpdate">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.EndUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_EndUpdate">EndUpdate()</a>
        </td>
        <td class="markdown level1 summary"><p>Enables raising events. If collection has been changed since the call
to the <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.BeginUpdate.html#C1_WPF_Schedule_ReentrantObservableCollection_1_BeginUpdate">BeginUpdate()</a> method, raises PropertyChanged and CollectionChanged events.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_InsertItem_System_Int32__0_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.InsertItem(System.Int32,`0)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.InsertItem.html#C1_WPF_Schedule_ReentrantObservableCollection_1_InsertItem_System_Int32__0_">InsertItem(int, T)</a>
        </td>
        <td class="markdown level1 summary"><p>Overrides the default behavior.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_Move_System_Int32_System_Int32_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.Move(System.Int32,System.Int32)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.Move.html#C1_WPF_Schedule_ReentrantObservableCollection_1_Move_System_Int32_System_Int32_">Move(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Moves the item at the specified index to a new location in the collection.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_MoveItem_System_Int32_System_Int32_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.MoveItem(System.Int32,System.Int32)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.MoveItem.html#C1_WPF_Schedule_ReentrantObservableCollection_1_MoveItem_System_Int32_System_Int32_">MoveItem(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Implements item moving from one location to another.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_OnCollectionChanged_System_Collections_Specialized_NotifyCollectionChangedEventArgs_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.OnCollectionChanged.html#C1_WPF_Schedule_ReentrantObservableCollection_1_OnCollectionChanged_System_Collections_Specialized_NotifyCollectionChangedEventArgs_">OnCollectionChanged(NotifyCollectionChangedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"><p>Raises CollectionChanged event if the <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.html">ReentrantObservableCollection&lt;T&gt;</a>
is not in update mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_RemoveItem_System_Int32_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.RemoveItem(System.Int32)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.RemoveItem.html#C1_WPF_Schedule_ReentrantObservableCollection_1_RemoveItem_System_Int32_">RemoveItem(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Overrides the default behavior.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_SetItem_System_Int32__0_" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.SetItem(System.Int32,`0)">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.SetItem.html#C1_WPF_Schedule_ReentrantObservableCollection_1_SetItem_System_Int32__0_">SetItem(int, T)</a>
        </td>
        <td class="markdown level1 summary"><p>Overrides the default behavior.</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_Schedule_ReentrantObservableCollection_1_CollectionChanged" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.CollectionChanged">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.CollectionChanged.html">CollectionChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when an item is added, removed, changed, moved, or the entire list is refreshed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_Schedule_ReentrantObservableCollection_1_PropertyChanged" data-uid="C1.WPF.Schedule.ReentrantObservableCollection`1.PropertyChanged">
          <a class="xref" href="C1.WPF.Schedule.ReentrantObservableCollection-1.PropertyChanged.html">PropertyChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when a property value changes.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
