2010-11-01 7 views
5

Quiero agregar un área de "soltar" al WGD DataGrid existente, encima de los encabezados de columna. En esa área, quiero permitir que el usuario suelte los encabezados de columna que representan las columnas que se agruparán y desagrupe esas columnas quitándolas de esta área. Xceed, SyncFusion y otras redes comerciales ofrecen esta funcionalidad, pero tengo que hacerlo yo mismo.Agrupación con arrastrar y soltar en WGD DataGrid

Mi enfoque consistió en extraer ControlTemplate de DataGrid, modificarlo según mis necesidades y luego crear un nuevo control derivado de DataGrid que define este ControlTemplate en su generic.xaml. En su mayor parte, esto está funcionando, pero tiene que haber una mejor manera, ¿verdad?

Estaba buscando un enfoque que utilizara las propiedades adjuntas, pero no pude encontrar la manera de insertar el nuevo área de "soltar" en el Visual Tree del control existente.

Cualquier sugerencia es bienvenida. ¡Gracias!

Respuesta

0

Puede escribir un Control que contenga un DataGrid y anular su ControlTemplate, o simplemente anularlo en el lugar donde lo use, si solo lo usa en un solo lugar.

Sin embargo, encapsular el DataGrid en lugar de heredarlo no supondría una gran diferencia.