WPF中想在一个窗口中调用另一个窗口的控件(DataGrid),怎么实现

2024-11-02 00:40:20
推荐回答(2个)
回答(1):

例如有个两个窗体window1 window2 在window2里有个name=datagrid 的 DataGrid
首先在window2的后台里把datagrid公开出去
public DataGrid WinDataGrid
{
get { return datagrid; }
set { datagrid = value; }
}
然后在window1的后台去实例化window2,在调用datagrid即可
window2 window = new window2();
DataGrid dg = window.WinDataGrid;

回答(2):

请问为什么你需要这样来做。
首先设计方面就不应该有这样跨窗体直接UI线程上的操作。

A窗口可以修改共享内存中的数据,MVVM方式绑定的B窗口上的DG直接自己反映数据变更。

再,你这两个窗口现在在同一线程中还可以用上面那位同学的做法。
但是如果在不同线程或者在不同机器的时候,
你这样的设计,不是找死么。