I\'m creating custom ItemsControl
that is derived from DataGrid
. I need to access ItemsHost that is the Panel
that actually holds rows
Yes I can. It is simple - I've just created property in class inheriting from DataGrid
:
protected Panel ItemsHost {
get {
return (Panel) typeof (MultiSelector).InvokeMember("ItemsHost",
BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance,
null, this, null);
}
}
It works like a charm :). I can get the value of ItemsHost
internal property of the ItemsControl
class. This way I can access any non-protected properties.