0

我正在玩弄启用和禁用数据网格中的行:


public IEnumerable GetDataGridRows(DataGrid grid)  
{  
    var itemsSource = grid.ItemsSource as IEnumerable;  
    if (null == itemsSource) yield return null;  
    foreach (var item in itemsSource)  
    {
        var row = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;  
        if (null != row) yield return row;  
    }  
}  

private void DisableGridRows()
{  
    bool enableRow = false;  
    var rows = GetDataGridRows(myGrid);  
    foreach (DataGridRow dataRow in rows)  
    {  
        if (!enableRow)  
        { 
            dataRow.IsEnabled = false;  
            enableRow = true;  
        }  
        else  
        {  
            enableRow = false;  
        }  
    }  
}  

我遇到的问题是有时行不会被禁用。在调试中运行时,我无法复制问题,因此它让人认为网格未更新时正在发生某些事情。

有什么想法吗?

4

0 回答 0