I'm building an application using WPF that will be a designer of sorts, meaning, a user can drag and drop custom UI elements into a canvas and be able to configure their behavior via properties.
(Think of this like a domain specific PowerPoint. You can add elements to the presentation, configure the elements' properties and then eventually you can run the "slideshow" and those elements will behave according to their properties)
So in my app, what is the best way of showing and configuring an element's properties? Is there a Property Dialog control I can use? (similar to the one in Visual Studio for controls)
Sadly, there is no PropertyGrid
control in WPF. Either you will have to use WinForms property grid or one available in open source community or buy from 3rd party vendors. You have following options to choose from -
Open Source -
WPF Property Grid: http://wpg.codeplex.com/
PropertyTools (previously called PropertyEditor) for WPF: http://propertytools.codeplex.com/
Extended WPF Toolkit PropertyGrid: https://github.com/xceedsoftware/wpftoolkit/wiki/PropertyGrid
Native WPF 4 PropertyGrid http://www.codeproject.com/Articles/87715/Native-WPF-4-PropertyGrid
WPF PropertyGrid - MVVM techniques: http://www.codeproject.com/KB/WPF/PropertyGridMVVM.aspx
In case you are working on .Net 4.0 you can use WWF's PropertyInspectorView
control as property grid in WPF. As explained in this article - http://www.codeproject.com/KB/grid/WpfPropertyGrid.aspx
3rd party :
Actipro: http://www.actiprosoftware.com/products/controls/wpf/propertygrid
ComponentOne: http://www.componentone.com/SuperProducts/PropertyGridWPF/
Mindscape: http://www.mindscape.co.nz/products/WPFPropertygrid/
Syncfusion: http://www.syncfusion.com/products/wpf/property-grid
Custom -
In Case you want to build your own PropertyGrid
, have a look at these articles -
(Very) simple WPF PropertyGrid in 20 minutes: http://blog.joachim.at/?p=36
Your own PropertyGrid in a couple of hours: http://dvuyka.spaces.live.com/blog/cns!305B02907E9BE19A!448.entry