c# wpf reflection datagrid wpf-controls

c# - ¿Puedo acceder a ItemsHost of ItemsControl usando reflection?



wpf datagrid (1)

Si puedo. Es simple: acabo de crear una propiedad en clase heredando de DataGrid :

protected Panel ItemsHost { get { return (Panel) typeof (MultiSelector).InvokeMember("ItemsHost", BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance, null, this, null); } }

Funciona a las mil maravillas :). Puedo obtener el valor de la propiedad interna ItemsHost de la clase ItemsControl . De esta forma puedo acceder a cualquier propiedad no protegida.

Estoy creando ItemsControl personalizado que se deriva de DataGrid . Necesito acceder a ItemsHost que es el Panel que realmente contiene filas de DataGrid . He visto algunos trucos horribles para hacer eso, pero los considero peor que usar el reflejo. Entonces, ¿puedo acceder a ItemsHost usando la reflexión? Y cómo ?