2016-07-11 5 views
0

내 질문 제목에 이미 나와 있습니다. 내 XmlDataProvider가 코드에서 DataGrid를 채웠는지 어떻게 확인할 수 있습니까?XmlDataProvider가 데이터로 대상 컨트롤을 채웠을 때 코드 숨김에서 알아야하는 방법

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. : 그것은 이미 작동하지만 사용자가 할 수 전에 내가 내 데이터 그리드의 셀 (전경, 배경, TextWeight을) 스타일 수 있습니다 완료되면 확인하려면/아무것도 볼

    LoadingRow 이벤트를 사용하십시오 : Dgrd.LoadingRow += DgrdParent_LoadingRow;,이 이벤트의 아름다움 만 볼 수 있습니다. 아래로 스크롤하거나 Window의 크기를 늘리면 행에서이 이벤트가 발생합니다. 나머지 관련 행은이 이벤트를 발생시킵니다.

  2. HasItems 속성을 사용하십시오. 이 속성은 DataGridItemsSource으로 끝나는 경우에만 True이됩니다.