我正在将DataGrid
代码隐藏移动到 ViewModel-UserControl 结构中。在代码隐藏中,我DataGrid
的设置是这样设置的......
public Window1()
{
setDataGrid();
}
public class Data
{
public int inOutNum { set; get; }
public string input { set; get; }
public string output { set; get; }
}
public static void setDataGrid()
{
//Query for Window1
var mainWindow = Application.Current.Windows
.Cast<Window1>()
.FirstOrDefault(window => window is Window1) as Window1;
for (int i = 1; i <= 16; i++)
{
mainWindow.dataGrid.Items.Add(new Data() { inOutNum = i - 1, input = "", output = ""});
}
}
<DataGridTextColumn Binding="{Binding Path=inOutNum}" Width="15" />
<DataGridTextColumn Binding="{Binding Path=input}" Header="Inputs" Width="160" />
<DataGridTextColumn Binding="{Binding Path=output}" Header="Outputs" Width="160" />
当切换到视图模型结构时,我想不再使用上面使用的窗口查询(因为我猜这是使用网格的错误方式)。当我将上面的 c# 代码放入 ViewModel 时,程序在我添加内容的循环中看不到DataGrid
。如何更改我拥有的代码,以便它正确地添加到我DataGrid
的新位置?