wpf devexpress Property Grid创建属性定义

WPF Property Grid控件使用属性定义定义如何做和显示

本教程示范如何绑定WP Property Grid控件到数据和创建属性定义。

执行如下步骤

第一步-创建属性定义

添加PropertyGridControl组件到项目。

打开工具箱在vs,定位到DX.23.1: Data 面板,选择PropertyGridControl工具箱选项,拖动到窗口。

右键点击Property Grid选择Layout | Reset All填充全部窗口:

第二步-创建数据对象

创建数据对象和设置到DataContext

cs 复制代码
namespace Creating_Definitions {
    public partial class MainWindow : Window {
        public MainWindow() {
            InitializeComponent();
            DataContext = new Customer() {
                ID = 1,
                FirstName = "Nancy",
                LastName = "Davolio",
                Gender = Gender.Female,
                BirthDate = new DateTime(1948, 8, 12),
                Phone = "7138638137"
            };
        }
        public class Customer {
            public int ID { get; set; }
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public Gender Gender { get; set; }
            public DateTime BirthDate { get; set; }
            public string Phone { get; set; }
        }
        public enum Gender { Male, Female }
    }
}

第三步-绑定Property Grid到Data Object

使用property grid PropertyGridControl.SelectedObject 属性绑定数据

XML 复制代码
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dxprg="http://schemas.devexpress.com/winfx/2008/xaml/propertygrid" x:Class="PG_lesson1.MainWindow"
        Title="MainWindow" Height="250" Width="525">
    <Grid>

        <dxprg:PropertyGridControl SelectedObject="{Binding}" />

    </Grid>
</Window>

步骤四-创建属性定义

添加属性定义到Property Grid.设置PropertyGridControl.ShowProperties属性ShowPropertiesMode.WithPropertyDefinitions,隐藏未定义属性:

XML 复制代码
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
        xmlns:dxprg="http://schemas.devexpress.com/winfx/2008/xaml/propertygrid" x:Class="PG_lesson1.MainWindow"
        Title="MainWindow" Height="250" Width="525">
    <Grid>

        <dxprg:PropertyGridControl SelectedObject="{Binding}" ShowProperties="WithPropertyDefinitions" >
            <dxprg:PropertyDefinition Type="sys:String" />
            <dxprg:PropertyDefinition Path="Gender" />
            <dxprg:PropertyDefinition Path="BirthDate" />
        </dxprg:PropertyGridControl>

    </Grid>
</Window>

运行程序看到结果

相关推荐
bugcome_com1 天前
C# 字符串拼接全面指南
c#·.net·wpf
bugcome_com2 天前
WPF样式进阶实战:外置样式+MVVM主题切换+样式优先级全解析
c#·.net·wpf
lalala_Zou3 天前
场景题:电商平台订单未支付过期如何实现自动关闭订单?
wpf
czhc11400756633 天前
wpf 16
wpf
cn_mengbei3 天前
鸿蒙PC原生应用开发实战:ArkTS与DevEco Studio从零构建跨端桌面应用全栈指南
华为·wpf·harmonyos
lingxiao168884 天前
WebApi详解+Unity注入--上篇:基于Framework的WebApi
c#·wpf·web
是一个Bug4 天前
Java后端开发面试题清单(50道) - 分布式基础
java·分布式·wpf
无心水4 天前
【分布式利器:腾讯TSF】4、TSF配置中心深度解析:微服务动态配置的终极解决方案
分布式·微服务·架构·wpf·分布式利器·腾讯tsf·分布式利器:腾讯tsf
lingxiao168884 天前
WebApi详解+Unity注入--下篇:Unity注入
unity·c#·wpf