开发者

How to create WPF Application that uses Reloadable Plugins?

开发者 https://www.devze.com 2023-02-16 08:14 出处:网络
I have an interesting problem at hand. I have a need to create a WPF Application which will host several UserControls. (The application does just that - serves as a container with docking abilities f

I have an interesting problem at hand.

I have a need to create a WPF Application which will host several UserControls. (The application does just that - serves as a container with docking abilities for UserControls)

The application will also host the开发者_JS百科 data model for the UserControls as another hot Swappable component. (I plan to use internal queues for each Component so that Components can be swapped.)

These user controls will have to be pluggable (This is Easy), and reloadable (This seems to be difficult/ impossible) at run time.(AppDomains seem to be the answer here, But I don't know the limitations other than AppDomain limitations on MarshalByValue and marshalByRefObject Are there any GUI limitations? ) "Reloadable" at runtime as in Hot Swap the UI component while the app is UP.

I also want the Context menu on a UserControl to have some items from Host and some Items from the UserControl itself.

I also have logic to control Focus (Change Border Color etc. on Focus Events) between the host and UserControls seamlessly (Tabbing across Host and UserControls).

As an aside, I would also want the UserControl to be ActiveX enabled for integration with ActiveX containers like Excel.

This will give me flexibility in terms of running the UserControl by itself (Unit test), In a container (seamless Navigation and integration with container and other relevant UserControls), and as ActiveX control to integrate with ActiveX containers.

I would like to know if it is possible, and if there are frameworks(MAF?) that supports this. Any pointers to examples or documentation will help.

Thank you in advance,

Regards, Ven.


I've been exploring a similar scenario. Based on your description, MAF seems like your best bet. The MSDN documentation is here. This codeplex site contains tools and samples of MAF in action. Hope this helps.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号