 <p>As far as I can see you're want to display list of entities, then provide an UI for selecting one of these entitites (via gridcontrol) and edit the selected entity properties in separate view (via text editors).</p> <p>So, I suggest you to use the MVVM approach. And, since you are already using DevExpress controls, I suggest you use the <a href="https://documentation.devexpress.com/#WPF/CustomDocument15112" rel="nofollow">DevExpress MVVM Framework</a> to make your MVVM as easy as it possible.</p> <p>Step 1: Define a ViewModel class that contains your entities collection available via the <code>Entities</code> property (you can load these entities in way as it needed, from it needed and when it needed) and provide the <code>SelectedEntity</code> property:</p> <pre><code>public class EntitiesViewModel { public EntitiesViewModel() { LoadEntities(); } void LoadEntities() { Entities = new ObservableCollection&lt;Entity&gt; { new Entity(){ Item1="A", Item2="A0", Item3="A00"}, new Entity(){ Item1="B", Item2="B0", Item3="B00"}, new Entity(){ Item1="C", Item2="C0", Item3="C00"}, }; } public ObservableCollection&lt;Entity&gt; Entities { get; private set; } public virtual Entity SelectedEntity { get; set; } // Bindable property } public class Entity { public string Item1 { get; set; } public string Item2 { get; set; } public string Item3 { get; set; } } </code></pre> <p>Step 2: Define a View layout as follows:</p> <pre><code>... xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:DXApplication1" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm" ... &lt;Grid Margin="12"&gt; &lt;Grid.DataContext&gt; &lt;dxmvvm:ViewModelSource Type="{x:Type local:EntitiesViewModel}"/&gt; &lt;/Grid.DataContext&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition Height="Auto"/&gt; &lt;RowDefinition Height="*"/&gt; &lt;/Grid.RowDefinitions&gt; &lt;Grid Grid.Row="0" Margin="0,0,0,8"&gt; &lt;Grid.ColumnDefinitions&gt; &lt;ColumnDefinition Width="Auto"/&gt; &lt;ColumnDefinition Width="8"/&gt; &lt;ColumnDefinition Width="*"/&gt; &lt;/Grid.ColumnDefinitions&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition Height="Auto"/&gt; &lt;RowDefinition Height="Auto"/&gt; &lt;RowDefinition Height="Auto"/&gt; &lt;/Grid.RowDefinitions&gt; &lt;Label Content="Item1" Grid.Row="0" VerticalAlignment="Center"/&gt; &lt;Label Content="Item2" Grid.Row="1" VerticalAlignment="Center"/&gt; &lt;Label Content="Item3" Grid.Row="2" VerticalAlignment="Center"/&gt; &lt;dxe:TextEdit Text="{Binding SelectedEntity.Item1}" Grid.Row="0" Grid.Column="2"/&gt; &lt;dxe:TextEdit Text="{Binding SelectedEntity.Item2}" Grid.Row="1" Grid.Column="2"/&gt; &lt;dxe:TextEdit Text="{Binding SelectedEntity.Item3}" Grid.Row="2" Grid.Column="2"/&gt; &lt;/Grid&gt; &lt;dxg:GridControl Grid.Row="1" AutoGenerateColumns="None" ItemsSource="{Binding Entities}" SelectedItem="{Binding SelectedEntity}"&gt; &lt;dxg:GridControl.Columns&gt; &lt;dxg:GridColumn FieldName="Item1"/&gt; &lt;dxg:GridColumn FieldName="Item2"/&gt; &lt;dxg:GridColumn FieldName="Item3"/&gt; &lt;/dxg:GridControl.Columns&gt; &lt;dxg:GridControl.View&gt; &lt;dxg:TableView ShowTotalSummary="True" AllowEditing="False"/&gt; &lt;/dxg:GridControl.View&gt; &lt;/dxg:GridControl&gt; &lt;/Grid&gt; </code></pre> <p>*The main points-of-interest and tricks are:<br> 1) creating the <code>EntitiesViewModel</code> instance via the ViewModelSource. This way allows you do not implement the <code>INotifyPropertyChanged</code> interface at the ViewModel's level - you can just declare the <code>SelectedEntity</code> property as <code>virtual</code> and delegate all the dirty-work to the <a href="https://documentation.devexpress.com/#WPF/CustomDocument17352" rel="nofollow">POCO mechanism</a>:</p> <pre><code>&lt;dxmvvm:ViewModelSource Type="{x:Type local:EntitiesViewModel}"/&gt; </code></pre> <p>2) all View' controls bindings are "looks" into the DataContext (which contains our ViewModel):</p> <pre><code>... Text="{Binding SelectedEntity.Item1}" ... ItemsSource="{Binding Entities}" SelectedItem="{Binding SelectedEntity}"&gt; </code></pre> <p>This way allows you to decouple all UI-controls from each other and modify the View with easy.</p>