答案 0 :(得分:3)
Partial意味着你的类被分成不同的文件,它与变量暴露给其他类没有任何关系。
您的网格是当前方法中的局部变量,因此其他人无法访问。如果要使其可访问,请将其定义为属性。
public DataGrid Grid { get; set; }
答案 1 :(得分:1)
尽管技术上可行,但您不应在课堂外访问数据网格。网格是您的类管理的视图的一部分,因此通过使表单的实现细节可见,使其他类可访问网格打破了封装。
我有另一个班级
Server
,它会收到我想要添加到grid.ItemSource
的数据。
然后,您的Server
类应提供表单应绑定到网格的数据源。换句话说,访问应该朝另一个方向发展。
答案 2 :(得分:0)
您需要将变量声明为此类的公共成员
public partial class MainWindow ...
{
public DataGrid grid;
public MainWindow()
{
...
}
public void DataGrid_Loaded(...)
{
...
grid = sender as DataGrid;
...
}
}
现在您可以通过这种方式访问变量了
var x = MainWindow.grid;