2016-03-19 29 views
0

私はWPF DataGridを持っており、コードでデータを追加します。WPFはDataGridにRowを追加するとSystem.InvalidOperationExceptionをスローします

XAML:

<DataGrid CanUserAddRows="True" CanUserDeleteRows="True" AutoGenerateColumns="False" Name="WareneingangEinbuchenGrid" VerticalAlignment="Top" > 
       <DataGrid.Columns> 
        <DataGridTextColumn x:Name="Name" Header="Name" Binding="{Binding Name}" /> 
        <DataGridTextColumn x:Name="StueckzahlName" Header="Stückzahl" Binding="{Binding Stueckzahl}" /> 
        <DataGridTextColumn x:Name="Preis" Header="Preis" Binding="{Binding Preis}" /> 
        <DataGridTextColumn x:Name="Barcode" Header="Barcode" Binding="{Binding Barcode}" /> 
       </DataGrid.Columns> 
      </DataGrid> 

データクラス:

public class WareneingangGridData 
{ 
    public string Name { get; set; } 

    public int Stueckzahl { get; set; } 

    public double Preis { get; set; } 

    public string Barcode { get; set; } 
} 

XAML.cs:

WareneingangEinbuchenGrid.Items.Add(new WareneingangGridData { Name = "Testname", Stueckzahl = 2, Preis = 12.3 , Barcode = "TestBarcode" }); 

XAML.CS.を実行するとき、アプリケーションがSystem.InvalidOperationExceptionがエラーをスロー解決策が見つかりました

+0

は私には正常に見えます。ただし、おそらくItemSourceを設定する必要があります。 Items.Addの代わりに – gawicks

答えて

0

は、私がXAML.cs編集:

Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => 
     { 
      WareneingangEinbuchenGrid.Items.Add(new WareneingangGridData { Name = "Testname", Stueckzahl = 2, Preis = 12.3, Barcode = "TestBarcode" }); 
     })); 
関連する問題