Ras*_*sto 4 c# reflection wpf datagrid wpf-controls
我正在创建ItemsControl源自的自定义DataGrid.我需要访问Panel实际持有行的ItemsHost DataGrid.我已经看到了那些丑陋的伎俩,但我认为它们比使用反射更糟糕.那么我可以使用反射访问ItemsHost吗?如何 ?
我可以.这很简单 - 我刚才在继承的类中创建了属性DataGrid:
protected Panel ItemsHost {
get {
return (Panel) typeof (MultiSelector).InvokeMember("ItemsHost",
BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance,
null, this, null);
}
}
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力:).我可以得到类的ItemsHost内部属性的值ItemsControl.这样我就可以访问任何不受保护的属性.