2011-11-08 30 views
14

Tôi muốn biết cách lấy DataGridCell từ DataGridCellInfo. Trên thực tế tôi có một số tế bào được chọn trong datagrid, và SelectedCells bất động sản trở về bộ sưu tập của DataGridCellInfo, nhưng tôi muốn thay đổi nền của các tế bào trong thời gian chạy quá. vì vậy tôi cần cellagrid cell.Làm thế nào để trích xuất DataGridCell từ lớp DataGridCellinfo trong wpf

vui lòng đề nghị tôi làm như thế nào và cũng làm cách nào để thay đổi màu nền của ô nền dữ liệu động (thông qua mã).

Cảm ơn

+0

Nếu bạn làm điều đó với XAML là cách đơn giản hơn, tôi khuyên. – Natxo

+0

Cảm ơn, nhưng thực sự tôi đang phát triển một điều khiển tùy chỉnh, vì vậy tôi cần một cách tiếp cận chung chung hơn cho điều này –

+1

Vâng, hãy xem câu trả lời của câu hỏi: http://stackoverflow.com/questions/1764498/wpf-datagrid- lập trình-chỉnh sửa-a-cell [1]: http://stackoverflow.com/questions/1764498/wpf-datagrid-programmatically-editing-a-cell – Natxo

Trả lời

3

Để thay đổi màu sắc của các tế bào động này là cách đơn giản nhất

cell.Background = new SolidColorBrush (Colors.Green);

và để có được tế bào DataGrid, hãy làm theo liên kết này

WPF Datagrid: Programmatically editing a cell

Nhờ Natxo

29

Đối với những ai đến đây từ một công cụ tìm kiếm, chờ đợi để tìm một câu trả lời cho tiêu đề trong câu hỏi, xem ở đây: https://stackoverflow.com/a/17066695/937093

Nội dung:

public DataGridCell GetDataGridCell(DataGridCellInfo cellInfo) 
{ 
    var cellContent = cellInfo.Column.GetCellContent(cellInfo.Item); 
    if (cellContent != null) 
     return (DataGridCell) cellContent.Parent; 

    return null; 
} 

chỉnh sửa

nếu bạn upvote câu trả lời này, vui lòng không quên upvote câu trả lời gốc mà tôi đã liên kết!

+0

Đây phải là câu trả lời được đánh dấu. – user3690202

+0

@ user3690202 không thực sự. Vấn đề với câu hỏi này là những gì được hỏi trong tiêu đề khác với những gì được hỏi trong chính câu hỏi đó. Câu trả lời được đánh dấu không trả lời câu hỏi manav inder thực sự có. –

+1

Nếu ô không ở chế độ xem, chúng tôi cần sử dụng 'Datagrid.ScrollIntoView'. – nan

Các vấn đề liên quan