It is as a custom editor.
namespace Xceed.Wpf.Toolkit.PropertyGrid.Implementation.Editors
{
/// <summary>
/// Interaction logic for DataSourceEditor.xaml
/// </summary>
public partial class DataSourceEditor : DropDownButton, ITypeEditor
{
public DataSourceEditor()
{
}
public FrameworkElement ResolveEditor(IPropertyItem propertyItem)
{
Binding binding = new Binding("Value");
binding.Source = propertyItem;
binding.Mode = propertyItem.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay;
BindingOperations.SetBinding(this, DataSourceEditor.ContentProperty, binding);
return this;
}
}
}
In PropertyGridUntilities to create the editor case PropertyEditorType.DataSourceEditor:
return new DataSourceEditor().ResolveEditor(propertyItem);