WPF hc:PropertyGrid 嵌套显示

重点:

编写Edit特性即可:

复制代码
public class ParameterEditor : PropertyEditorBase
	{
		public override FrameworkElement CreateElement(PropertyItem propertyItem)
		{
			
			var pg = new PropertyGrid();
            return pg;
		}
        public override DependencyProperty GetDependencyProperty() => PropertyGrid.SelectedObjectProperty;
	}

使用:

复制代码
  private Parameter _parameterInfo = new Parameter();
      
		[Category("参数"), Browsable(true), ReadOnly(false), DisplayName("XX参数"), Editor(typeof(ParameterEditor),typeof(PropertyEditorBase))]
        public Parameter ParameterInfo
		{
	        get => _parameterInfo ;
	        set => Set(ref _parameterInfo , value);
        }

Parameter 类是自定义类,里面可以定义其他想显示的属性。

Editor(typeof(ParameterEditor),typeof(PropertyEditorBase))(这句代码其实很难找,源码并没有直接使用Editor特性,而是动态反射产生的。)

效果:

可以自己定义新样式来优化界面哦

相关推荐
SamChan905 小时前
用PostgreSQL+pgvector构建PDF翻译记忆库:向量相似度检索+增量更新实战
数据库·python·ai·postgresql·pdf·wpf
李高钢1 天前
开源控件库 HandyControl 介绍与简单实践:让 WPF 界面告别“上个世纪“
开源·wpf
旋生万物2 天前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf
Now喔2 天前
WPF画刷介绍
wpf
李高钢2 天前
WPF/WinForms 客户端通过 gRPC 与后端通信:从 Proto 契约到流式调用的完整指南
wpf·grpc·winforms
一见已难忘3 天前
基于 Harmony 6.0 应用的宠物寄养预约系统实现
wpf·宠物
fl1768313 天前
基于C#WPF实现的内存加速球清理类似360加速球内存清理
开发语言·c#·wpf
李高钢3 天前
【WPF】高级 UI 与性能优化实战:从卡顿到丝滑
ui·性能优化·wpf
Chris _data4 天前
WPF 上位机开发学习笔记 - 第四天
笔记·学习·wpf
李高钢4 天前
除了 IDE,C#/WPF 开发者每天离不开的 10 个工具
ide·c#·wpf