Datagrid行模板内的Datagrid在更新可观察数组WPF时未更新

Datagrid行模板内的Datagrid在更新可观察数组WPF时未更新,wpf,datagridview,datagridtemplatecolumn,Wpf,Datagridview,Datagridtemplatecolumn,我已经绑定了数据网格中的值列表。 添加了datagrid行模板。当选择行时,我正在显示该模板。在模板内,我有一个具有不同列表的DataGrid(observedcollection)数组在数据网格中有值但不更新 我的代码: xaml <DataGrid IsReadOnly="True" ItemsSource="{Binding Patients}" Grid.Row="1" Grid.Column="0" AutoGenerateColumns="False" CanUserRes

我已经绑定了
数据网格中的值列表。
添加了datagrid行模板。当选择行时,我正在显示该模板。在模板内,我有一个具有不同列表的
DataGrid
observedcollection
)<代码>数组
数据网格
中有值但不更新

我的代码:

xaml

  <DataGrid IsReadOnly="True" ItemsSource="{Binding Patients}" Grid.Row="1" Grid.Column="0" AutoGenerateColumns="False" CanUserResizeColumns="True" CanUserReorderColumns="False"
                  SelectedItem="{Binding SelectedPatient}"  SelectionMode="Single">
            <DataGrid.InputBindings>
                <MouseBinding
                   MouseAction="LeftDoubleClick"
                   Command="{Binding SingleClickCommand}" CommandParameter="{Binding ElementName=myGrd, Path=SelectedPatient}" />
            </DataGrid.InputBindings>
            <DataGrid.Columns>

                <DataGridTextColumn Header="#" Binding="{Binding Salutation}"  Width="*"/>
                <DataGridTextColumn Header="FirstName" Binding="{Binding FirstName}"  Width="*"/>
                <DataGridTextColumn Header="LastName" Binding="{Binding LastName}"  Width="*"/>
                <DataGridTextColumn Header="Gender" Binding="{Binding Gender}"  Width="*"/>
                <DataGridTextColumn Header="Age" Binding="{Binding Age}"  Width="*"/>

            </DataGrid.Columns>
            <DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <DockPanel Background="GhostWhite">

                        <Grid Margin="30,10,30,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid Grid.Row="1" Grid.Column="0" Margin="0,0,0,50">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <DataGrid IsReadOnly="True"  Grid.Row="0" Grid.Column="0" AutoGenerateColumns="False" CanUserResizeColumns="False" CanUserReorderColumns="False" ItemsSource="{Binding PatientVisits}">
                                    <DataGrid.Columns>
                                        <DataGridTextColumn Header="Visit Date" Width="Auto" Binding="{Binding Complaint}"/>
                                        <DataGridTextColumn Header="Medication" Width="Auto"   Binding="{Binding Medication}"/>
                                    </DataGrid.Columns>
                                </DataGrid>
                            </Grid>
                        </Grid>
                    </DockPanel>
                </DataTemplate>
            </DataGrid.RowDetailsTemplate>
        </DataGrid


Mode=TwoWay
应用于内部
DatagGrid
。在Visaul Studio输出窗口中是否看到任何绑定错误?我现在通过添加Mode=TwoWay进行检查。不工作没有绑定错误,我只能看到网格列标题@sthotakura您是否在SingleClickCommand中设置了断点并查看是否命中了该断点?将
Mode=TwoWay
应用到内部
DatagGrid
。您在Visaul Studio输出窗口中看到任何绑定错误吗?我现在通过添加Mode=TwoWay进行检查。不工作没有绑定错误,我只能看到网格列标题@sthotakura您是否在SingleClickCommand中设置了断点并查看是否命中?
   public void GetVisitHistoryForSelectedPatient()
        {
            PatientVisits = new ObservableCollection<StudyVisitModel>
            {
               new StudyVisitModel{VisitDate=DateTime.Now,Medication="Tablets and tonics"},
               new StudyVisitModel{VisitDate=DateTime.Now,Medication="Tablets and tonics"}
            };
            OnPropertyChanged("PatientVisits");
        }