Building Visual studio like application, need inputs
I am working on a Visual studio like application i.e. have a toolbox, an editor and property grid similar to VS.
User can drag and drop the controls(custom and third party) to the editor window and perf开发者_运维百科orm operations like resize, move, align, group etc.; Properties of that control needs to be displayed in property grid and user can update them from there.
As per my current understanding I will have to extend the Canvas to create my own editor and and Interface for controls which it supports; Each supported control will have to implement this interface so that it can be placed in our editor.
Something similar to this - http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part4.aspx
Looking forward for any kind of help, comment or links.
If WPF is a requirement, wait for the VS2010 release and use the Visual Studio Shell in either isolated mode or integrated mode. Otherwise you can use the Visual Studio 2008 Shell isolated or integrated.
You'll get the docking support, addin model, editors with highlight and much more almost for free that way.
Finally, I used the Diagram designer approch to build my application. Although, I had to create my custom property grid which was painful.
Recently I came across following post which suggests that .Net DesignSurface can be used for building this kind of application -
How to create an UI Designer utility?
I have been working on a generic framework Wide to create VS like applications.
Update: Here is the CodeProject article on how to use the framework.
Wide comes with two modules and various out of the box functions:
- Core module (Required)
- Used for customizable splash screen
- Used for Menus (supports regular menus with icon, checkable menus)
- Used for Toolbar (menu view model can be reused for toolbars)
- Multiple toolbars can be added to the IDE (check demo)
- Themes (VS2010, VS2012 Light theme and no theme)
- ThemeManager to add/remove themes
- Used for Statusbar (in development)
- Open file service with participatory handlers (could be based on extension or even file contents)
- Save and restore layout along with opening documents
- Logger module (For the logging tool)
精彩评论