WEB开发网
开发学院WEB开发ASP.NET WPF中实现PropertyGrid的三种方式 阅读

WPF中实现PropertyGrid的三种方式

 2010-10-09 08:16:11 来源:WEB开发网   
核心提示: 代码<Windowx:Class="WPGDemoApp.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://sc

代码

<Window x:Class="WPGDemoApp.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:wpg="clr-namespace:WPG;assembly=WPG"
    Title="Window1" Height="300" Width="300">
  <DockPanel VerticalAlignment="Stretch" >
    <Button DockPanel.Dock="Top" x:Name="btn">button for test</Button>
    <wpg:PropertyGrid DockPanel.Dock="Top" Instance="{Binding ElementName=btn}" VerticalAlignment="Stretch" IsEnabled="True"></wpg:PropertyGrid>
  </DockPanel>
</Window>

把Button的背景色设置为红色:

第三种方式:使用WF4.0设计器里面的属性框控件。WF4.0的流程设计器有一个这样的PropertyGrid控件。我们利用它来实现自己的PropertyGrid控件。这也是本文重点介绍的方式。参考:Native WPF 4 PropertyGrid。分五个步骤去实现。

1、自定义一个用户控件,这个控件继承Grid类。grid将包含真正的界面元素。

2、用Workflow Foundation的WorkflowDesigner一个对象作为这个控件的私有成员。

3、对于需要设计的对象,在grid中添加一个PropertyInspectorView对象的子元素。对外它是一个Grid,其实它的类型是ProperyInspector。

4、通过反射获取和使用PropertyInspector的一些方法。

5、实现一个SelectedObject属性,标准的PropertyGrid都有它。用来处理PropertyInspector选择对象的改变。

Tags:WPF 实现 PropertyGrid

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接