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特性,而是动态反射产生的。)

效果:

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

相关推荐
Chris _data32 分钟前
# WPF 学习记录( 第二天)
学习·wpf
myenjoy_121 小时前
大规模采集架构——从单台网关到千点集群
架构·wpf
Chris _data1 天前
c#学习WPF笔记(一)
学习·c#·wpf
FuckPatience2 天前
WPF 自定义容器控件的布局
wpf
逆境不可逃2 天前
深入理解 SingleFlight:从单机到分布式的请求合并方案全解析
分布式·wpf
TDengine (老段)2 天前
TDengine 逻辑计划生成 — 从 AST 到关系代数算子树
大数据·数据库·物联网·wpf·时序数据库·tdengine·涛思数据
小二·3 天前
微服务架构设计与实践
微服务·架构·wpf
暖馒3 天前
WPF-Prism学习入门步骤记录
学习·wpf
baivfhpwxf20233 天前
雷赛(Leadshine)EtherCAT 数字 I/O 模块(如 EMC-E5064-8)的状态指示灯(I/O 状态)说明
c#·wpf
故渊at4 天前
第二板块:Android 四大组件标准化学理 | 第十二篇:四大组件全景总结与系统服务(System Server)架构
android·架构·wpf·四大组件·system service