Не могу автоматически обновить данные из xml файла в DataGrid WPF

После сохранения данных в xml DataGrid не обновляется. Подскажите, как автоматически обновить DataGrid.

Код xaml:

        <Window x:Class="TestWPF.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:TestWPF"
            mc:Ignorable="d"
            Title="MainWindow" Height="600" Width="750" Name ="Window" >
        <Grid Margin="-16,-34,-8,-96">
            <TextBox x:Name="Tbx_Email" HorizontalAlignment="Left" Height="25" Margin="100,50,0,0"                  TextWrapping="Wrap" Text="E-mail" VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email"/>
            <TextBox x:Name="Tbx_Position" HorizontalAlignment="Left" Height="25" Margin="100,80,0,0" TextWrapping="Wrap" Text="Position" VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email"/>
            <TextBox x:Name="Tbx_Company_Name" HorizontalAlignment="Left" Height="25" Margin="500,50,0,0" TextWrapping="Wrap" Text="Company Name" VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email"/>
            <TextBox x:Name="Tbx_Address" HorizontalAlignment="Left" Height="25" Margin="500,80,0,0" TextWrapping="Wrap" Text="Address  " VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email"/>
            <TextBox x:Name="Tbx_PLZOrt" HorizontalAlignment="Left" Height="25" Margin="500,110,0,0" TextWrapping="Wrap" Text="PLZ Ort" VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email"/>
            <TextBox x:Name="Tbx_Person" HorizontalAlignment="Left" Height="25" Margin="500,140,0,0" TextWrapping="Wrap" Text="Person" VerticalAlignment="Top" Width="250" AutomationProperties.Name="Email" MouseDoubleClick="Tbx_Person_MouseDoubleClick"/>
    
            <Label x:Name ="Lbl_Email" Content="E-mail" HorizontalAlignment="Left" Height="25" Margin="20,50,0,0" VerticalAlignment="Top" Width="75"/>
            <Label x:Name ="Lbl_Position" Content="Position" HorizontalAlignment="Left" Height="25" Margin="20,80,0,0" VerticalAlignment="Top" Width="75"/>
            <Label x:Name ="Lbl_CompanyName" Content="Company Name" HorizontalAlignment="Left" Height="25" Margin="375,50,0,0" VerticalAlignment="Top" Width="100"/>
            <Label x:Name ="Lbl_Address" Content="Address" HorizontalAlignment="Left" Height="25" Margin="375,80,0,0" VerticalAlignment="Top" Width="100"/>
            <Label x:Name ="Lbl_PLZOrt" Content="PLZ Ort" HorizontalAlignment="Left" Height="25" Margin="375,110,0,0" VerticalAlignment="Top" Width="100"/>
            <Label x:Name ="Lbl_Person" Content="Person" HorizontalAlignment="Left" Height="25" Margin="375,140,0,0" VerticalAlignment="Top" Width="50"/>
            <Button x:Name ="BtnSE" HorizontalAlignment="Left" Height="40" Margin="25,110,0,0" VerticalAlignment="Top" Width="85" Click="BtnSE_Click">
                <TextBlock x:Name="BtnSECaption" Text="Send Email" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="8"/>
            </Button>
            <Button x:Name ="BtnCB" HorizontalAlignment="Left" Height="40" Margin="145,110,0,0" VerticalAlignment="Top" Width="85" Click="BtnCB_Click">
                <TextBlock x:Name="BtnCBCaption" Text="Create Bewerbung Anschrieben" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="8"/>
            </Button>
            <Button x:Name ="BtnFC" HorizontalAlignment="Left" Height="40" Margin="265,110,0,0" VerticalAlignment="Top" Width="85" Click="BtnFC_Click">
                <TextBlock x:Name="BtnFCCaption" Text="Form Clear" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="8"/>
            </Button>
            <TextBlock x:Name="Tbl_Message" HorizontalAlignment="Left" Height="175" Margin="25,200,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="725" ScrollViewer.VerticalScrollBarVisibility="Auto" >
                <TextBlock Text="Sehr"/> <TextBlock Text="{Binding Isman, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/> 
                <TextBlock Text="{Binding ElementName=Tbx_Person, Path=Text, UpdateSourceTrigger=PropertyChanged}"/>
                
                <TextBlock Text=","/><LineBreak/>
                <TextBlock Text="anbei erhalten Sie meine Bewerbung für die von Ihnen ausgeschriebene Stelle als "/>
                <TextBlock Text="{Binding ElementName=Tbx_Position, Path=Text, UpdateSourceTrigger=PropertyChanged}"/><TextBlock Text=" ."/><LineBreak/>
                <TextBlock Text="Warum ich genau der richtige Kandidat für diese Stelle bin und warum ich Sie mit meiner langjährigen Berufserfahrung optimal unterstützen kann, entnehmen Sie bitte meinen ausführlichen Bewerbungsunterlagen." TextWrapping="Wrap"/><LineBreak/>
                <TextBlock Text="Ich freue mich darauf, Sie in einem persönlichen Vorstellungsgespräch kennenzulernen." TextWrapping="Wrap"/><LineBreak/>
                <TextBlock Text="Mit freundlichen Grussen," TextWrapping="Wrap"/><LineBreak/>
                <TextBlock Text="Andrei Filatov" TextWrapping="Wrap"/><LineBreak/><LineBreak/>
                <TextBlock Text="E-mail: [email protected]" TextWrapping="Wrap"/><LineBreak/>
                <TextBlock Text="Tel: +41-76-273-43-39" TextWrapping="Wrap"/><LineBreak/>
    
            </TextBlock>
            <DataGrid x:Name="Dgr_Archive" HorizontalAlignment="Left" Height="215" Margin="25,375,0,0" VerticalAlignment="Top" Width="725"
                      ItemsSource="{Binding}"  AutoGenerateColumns="False" >
                <DataGrid.DataContext>
                    <XmlDataProvider Source="C:\Users\1\source\repos\TestWPF\TestWPF\Archive.xml" XPath="/Companies/Company" />
                </DataGrid.DataContext>
                
                <DataGrid.Columns >
                    <DataGridTextColumn Width="25" Header="Position" Binding="{Binding XPath=@id}"/>
                    <DataGridTextColumn Width="116" Header="Position" Binding="{Binding XPath=@name}"/>
                    <DataGridTextColumn Width="116" Header="Position" Binding="{Binding XPath=Position}"/>
                    <DataGridTextColumn Width="116" Header="Address" Binding="{Binding XPath=Address}"/>
                    <DataGridTextColumn Width="116" Header="E-mail" Binding="{Binding XPath=E_mail}"/>
                    <DataGridTextColumn Width="116" Header="Contact Person" Binding="{Binding XPath=Contact_person}"/>
                    <DataGridTextColumn Width="117" Header="Record_Timestamp" Binding="{Binding XPath=Record_Timestamp}"/>
                    
                </DataGrid.Columns>
            </DataGrid>
            <CheckBox x:Name="Chb_IM" Content="IsMan" HorizontalAlignment="Left" Margin="425,145,0,0" VerticalAlignment="Top" Checked="Chb_IM_Checked" Unchecked="Chb_IM_Unchecked"/>
    
        </Grid>
    </Window>

Код C#

private void Add_record(XDocument doc)
        {
            XElement n = doc.Root.LastNode as XElement;
            Int32.TryParse(n.Attribute("id").Value, out int LastElementID);

            doc.Root.Add(new XElement("Company",
                       new XElement("Position", Tbx_Position.Text),
                       new XElement("Address", Tbx_Address.Text + "  " + Tbx_PLZOrt.Text),
                       new XElement("E_mail", Tbx_Email.Text),
                       new XElement("Contact_person", Tbx_Person.Text),
                       new XElement("Record_Timestamp", DateTime.Now.ToString()),
                       new XAttribute("name", Tbx_Company_Name.Text.Replace(" ", "_")),
                       new XAttribute("id", (LastElementID + 1))));
            doc.Save(archpath);
            


        }

Ответы (0 шт):