Having selected data from one datagrid be displayed on another datagrid <p>I am trying to select one customer from a datagrid and then have that customers name be displayed in a list of customers that are being seen that day </p> <p>Here is the XAML:</p> <pre><code>&lt;Grid Name="gridListOfAllCustomers" Visibility="Collapsed" Margin="235,26,-740,56" Grid.Row="3" Grid.RowSpan="4" Grid.Column="1"&gt; &lt;DataGrid Name="dataGridListOfAllCustomers" IsReadOnly="True" AutoGenerateColumns="False" ItemsSource="{Binding Customer}" SelectionChanged="dataGridListOfAllCustomers_SelectionChanged"&gt; &lt;DataGrid.Columns&gt; &lt;DataGridTextColumn Header="Customer User Name" Binding="{Binding UserName}" Width="*"/&gt; &lt;DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" Width="*"/&gt; &lt;DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" Width="*"/&gt; &lt;DataGridTextColumn Header="Birthday" Binding="{Binding Birthday, StringFormat=\{0:dd/MM/yyyy\}}" Width="*"/&gt; &lt;/DataGrid.Columns&gt; &lt;/DataGrid&gt; &lt;/Grid&gt; </code></pre> <p>^ That grid is the one I am selecting data from</p> <pre><code>&lt;Grid Name="gridCustomersOfTheDay" Visibility="Collapsed" Margin="10,2,2,42" Grid.Row="4" Grid.RowSpan="4" Grid.ColumnSpan="2"&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition Height="7*"/&gt; &lt;RowDefinition Height="1*"/&gt; &lt;RowDefinition Height="1*"/&gt; &lt;/Grid.RowDefinitions&gt; &lt;DataGrid Name="dataGridCustomersToday" IsReadOnly="True" AutoGenerateColumns="True" Grid.Row="0" AutoGeneratingColumn="dataGridCustomersToday_AutoGeneratingColumn"/&gt; &lt;Button Name="btnEditCustomersToday" Content="Edit List" Grid.Row="1"/&gt; &lt;Button Name="btnClearCustomers" Content="Clear List" Grid.Row="2" Click="btnClearCustomers_Click"/&gt; &lt;/Grid&gt; </code></pre> <p>^ That Grid should display the data</p> <p>This is what happens when I click the button for todays Customers</p> <pre><code>private void btnCustomersToday_Click(object sender, RoutedEventArgs e) { if (btnCustomersToday.IsChecked == true) { dataGridListOfAllCustomers.Visibility = System.Windows.Visibility.Visible; dataGridCustomersToday.Visibility = System.Windows.Visibility.Visible; } else { dataGridListOfAllCustomers.Visibility = System.Windows.Visibility.Collapse; dataGridCustomersToday.Visibility = System.Windows.Visibility.Collapse; } ResponseBase&lt;List&lt;CustomerInfo&gt;&gt; allCustomers = Data.DataManager.GetCustomerList(""); List&lt;CustomerInfo&gt; listOfAllCustomers = allCustomers.Data; dataGridListOfAllCustomers.ItemsSource = listOfAllCustomers; //Field dataGridCustomersToday.ItemsSource = displayWorkList; //Field } </code></pre> <p>And lastly this is for the selection change</p> <pre><code>private void dataGridListOfAllCustomers_SelectionChanged(object sender, SelectionChangedEventArgs e) { CustomerInfo CustomerForTodayList = (CustomerInfo) dataGridListOfAllCustomers.SelectedItem; if (e.AddedItems.Count == 0) { return; } currentCustomersToday.Add(CustomerForTodayList.UserName); String customerID = CustomerForTodayList.UserName; StringValue addCustomer = new StringValue(customerID); displayWorkList.Add(addCustomer); } </code></pre> <p>So the issue is I click the customer and I have to change the visibility of the second datagrid in order for User name of the customer to appear. Also there is a lag on the second customer for some reason. As in when I select the second customer I also need to select a third customer in order for them to appear (I still need to click). </p> <p>I don't even know what could be possible solutions because my understanding of databinding and datagrids is so limited. I have tried reading the documentation and reading tutorials but no one thoroughly explains path and sources as well as how to make a collections and so. </p>