我終於找到了在PropertyGrid.EditorDefinitions使用一個DataTemplate的方式。在下面的例子中,Double類型的每個屬性都獲得一個格式爲「F2」的「DoubleUpDown」編輯器。
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
<xctk:PropertyGrid ...>
<xctk:PropertyGrid.EditorDefinitions>
<xctk:EditorTemplateDefinition>
<xctk:EditorTemplateDefinition.TargetProperties>
<xctk:TargetPropertyType Type="{x:Type System:Double}" />
</xctk:EditorTemplateDefinition.TargetProperties>
<xctk:EditorTemplateDefinition.EditingTemplate>
<DataTemplate>
<xctk:DoubleUpDown FormatString="F2"
Value="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</xctk:EditorTemplateDefinition.EditingTemplate>
</xctk:EditorTemplateDefinition>
</xctk:PropertyGrid.EditorDefinitions>
</xctk:PropertyGrid>
通過EditorTemplateDefinition.TargetProperties命名特定屬性,只有這些屬性將通過以下的DataTemplate影響。
<xctk:EditorTemplateDefinition.TargetProperties>
<System:String>Volume</System:String>
<System:String>Weight</System:String>
</xctk:EditorTemplateDefinition.TargetProperties>
你能告訴你如何綁定屬性? – Joulukuusi