将对象“等于”设置为Window类

时间:2016-04-09 12:42:50

标签: c# wpf user-interface object

我知道这可能是有史以来最愚蠢的问题之一,但是......

我正试图将我的一个窗口设置为等于一个对象,如下所示:

object extrasWindow = IsWindowOpen<pgAddQouteExtras>();

然后我有一个名为ExportDatagrid()

的方法
public void ExportDatagrid(object sender)
{
    if (extrasWindow != null)
    {

    }
}

在此方法中,我想将extrasWindow'等于'设置为object sender以访问窗口pgAddQouteExtras的UI元素。像这样:

public void ExportDatagrid(object sender)
{
    if (extrasWindow != null)
    {
        sender = extrasWindow.dgViewProjects; 
    }
}

我遇到的唯一问题是我无法访问其他窗口的UI元素,因为我无法访问像extrasWindow.dgViewProjects这样的数据网格。我只能得到:

extrasWindow.Equals extrasWindow.GetHashCode extrasWindow.GetType extrasWindow.ToString

是否有某些类型我必须将我的Window设置为允许我访问页面的UI元素?

1 个答案:

答案 0 :(得分:0)

目前还不清楚你的方法IsWindowOpen<pgAddQuoteExtras>究竟返回了什么。通常,以Is为前缀的方法会返回boolean。假设您的方法返回pgAddQuoteExtras,其成员dgViewProjects,则sender可以使用as投射操作符进行投射,如下所示:

public void ExportDatagrid(object sender)
{
    var extrasWindow = sender as pgAddQuoteExtras;
    if (extrasWindow != null)
    {
        var projects = extrasWindow.dgViewProjects; 
    }
}
相关问题