2016-07-11 24 views
0

我的问题的标题已经说明了。 如何检查我的XmlDataProvider是否在代码后面填充了我的DataGrid。 它已经工作,但我想,当它完成,所以我可以风格在我的DataGrid中的细胞(前景,背景,TextWeight)之前,用户可以做的检查/看到什么:如何在代码隐藏时知道XmlDataProvider已经用数据填充目标控件1

public ExcelWindow(string filePath) 
{ 
    InitializeComponent(); 
    _filePath = filePath; 

    Dispatcher.beginInvoke((Action)(() => 
    { 
     LoadScreenSettings(); 
    })); 

    LoadXml(); 

    CellLayoutHandler = new CellLayoutHandler(DataGridXml, _FilePath); 
} 

private void LoadXml() 
{ 
    XmlDataProvider dataProvider = xmlDataProvider; 
    XmlDocument xmlDoc = new XmlDocument(); 
    xmlDoc.Load(_FilePath); 
    dataProvider.Document = xmlDoc; 
    dataProvider.XPath = "Data/Row"; 
} 
+0

1)如果你想看看它完成时的确切时间,或者你可以使用后台工作。 Backgroundworker有像“RunWorkerCompleted”这样的事件 – Ugur

+0

2)或者只是在XML中创建一个关于数据的自定义数据网格样式。 – Ugur

+0

好的,我会考虑它谢谢!但是必须有更简单的方法来做到这一点?我无法想象要以更简单的方式实现这一点很难。 – NickGames

回答

0
  1. 使用LoadingRow事件:Dgrd.LoadingRow += DgrdParent_LoadingRow;,这个事件的美只是可见的行激发这个事件,如果你向下滚动或增加Window的大小,剩余的相关行将触发这个事件。

  2. 使用HasItems财产。仅当DataGrid完成其ItemsSource时,此属性将变为True

相关问题