HandyControl PropertyGrid 如何添加自定义编辑器

如题,按HandyControl官网的方法写了一个编辑器,但是他没说明怎么注册进去啊,服了。源码好多地方用 => 这个符号看的好不习惯,看的都想吐了

只需要使用EditorAttribute来对应你的编辑器类型
望采纳

同问。

自定义编辑器

我们以 PlainTextPropertyEditor 为例,当需要自定义编辑器,我们可以从 PropertyEditorBase 继承,并重写某些方法,这些方法的定义如下表所示:

名称说明备注
CreateElement创建具体操作控件必须重写
CreateBinding为具体操作控件创建数据绑定
GetDependencyProperty获取具体操作控件中需要绑定的依赖属性必须重写
GetBindingMode获取绑定模式
GetUpdateSourceTrigger获取更新数据源的触发模式
GetConverter获取绑定时需要使用的转换器

纯文本编辑器的具体操作控件可以是 TextBox

public override FrameworkElement CreateElement(PropertyItem propertyItem) => new System.Windows.Controls.TextBox
{
    IsReadOnly = propertyItem.IsReadOnly
};

需要绑定的依赖属性应该是 TextProperty

public override DependencyProperty GetDependencyProperty() => System.Windows.Controls.TextBox.TextProperty;

最后整体的代码如下:

public class PlainTextPropertyEditor : PropertyEditorBase
{
    public override FrameworkElement CreateElement(PropertyItem propertyItem) => new System.Windows.Controls.TextBox
    {
        IsReadOnly = propertyItem.IsReadOnly
    };

    public override DependencyProperty GetDependencyProperty() => System.Windows.Controls.TextBox.TextProperty;
}

以下代码,在PropertyGrid中点击BackBitmap属性可以打开选择图片的窗口,选择图片文件后,属性BackBitmap可以得到图片,但是和PropertyGrid默认的不同,BackBitmap属性没有了那个默认的打开图片的界面小图标,还要怎么设置,可以看到那个BackBitmap属性旁边的小图片
参考:
https://www.sogou.com/link?url=hedJjaC291Nz_UyboyYOgis9SwAhTiJv8TxZB0DBydimZA3OD1kIVw..

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632