0
我試圖從一個靜態方法的一些數據到我的主窗口-S數據網格(添加列),我想實現這個加載加載到特定的窗體DataGrid窗口的新實例。我已經砍死在一起的辦法來解決靜態侷限性,但它無法用一個錯誤C#WPF中,試圖不創建一個數據從一個靜態方法
public partial class MainWindow : MetroWindow
{
static MainWindow mainWindow;
public MainWindow()
{
InitializeComponent();
ArgumentLoader();
SqliteDatabase.check_for_database();
SqliteDatabase.load_database();
ColumnLoader("alias");
}
public static void ColumnLoader(string alias)
{
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Header = "X";
textColumn.Binding = new Binding("X");
mainWindow.dataGrid.Columns.Add(textColumn);
}
異常
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in PresentationFramework.dll
Additional information: Exception has been thrown by the target of an invocation.
,如果我重新命名
mainWindow.dataGrid.Columns.Add(textColumn);
到
dataGrid.Columns.Add(textColumn);
並使該方法非靜態工作。我錯過了什麼,或者有更好的方法來做到這一點?
我沒有看到你將'mainWindow'設置爲任何東西。嘗試在構造函數中添加'mainWindow = this;'。 – itsme86