title: Custom ItemsControl with optional Paging
body: <p>I have a slightly extraordinary request ;-)</p>
  
  <p>I'd like to develop an ItemsControl with a "Previous" Control and a "Next" Control. Like this bound to an arbitrary ViewModel:</p>
  
  <pre><code>&lt;controls:PagedItemsControl ItemsSource="{Binding Items}"&gt;
      &lt;ItemsControl.ItemsPanel&gt;
          &lt;ItemsPanelTemplate&gt;
              &lt;UniformGrid Columns="5" /&gt;
          &lt;/ItemsPanelTemplate&gt;
      &lt;/ItemsControl.ItemsPanel&gt;
      &lt;ItemsControl.ItemTemplate&gt;
          &lt;DataTemplate DataType="system:String"&gt;
              &lt;Border Background="Gray" Margin="5"&gt;
                  &lt;TextBlock Text="{Binding}" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" /&gt;
              &lt;/Border&gt;
          &lt;/DataTemplate&gt;
      &lt;/ItemsControl.ItemTemplate&gt;
      &lt;controls:PagedItemsControl.PreviousControl&gt;
          &lt;Button Content="Previous" Command="{Binding PreviousCommand}" /&gt;
      &lt;/controls:PagedItemsControl.PreviousControl&gt;
      &lt;controls:PagedItemsControl.NextControl&gt;
          &lt;Button Content="Next" Command="{Binding NextCommand}" /&gt;
      &lt;/controls:PagedItemsControl.NextControl&gt;
  &lt;/controls:PagedItemsControl&gt;
  </code></pre>
  
  <p>In the example I passed 2 buttons controlled by the ViewModel's commands. It would be awesome if somebody could tell me how to listen to the <code>Control.IsEnable</code> state and show the <code>PreviousControl</code> as first item if enable and the the <code>NextControl</code> as last item if enable.</p>
  
  <p><img src="https://i.stack.imgur.com/Pc9Ty.png" alt="Example Paged ItemsControl"></p>
  
  <p>Thank you</p>