XamPropertyGrid 自定义编辑器(绑定)不工作
XamPropertyGrid Custom Editor (Binding) not working
我在 C# WPF 中使用 Infragistics 的 "XamPropertyGrid",
我创建了两个 类 如下:
public class ClassA
{
public ClassB B { get; set; }
}
public class ClassB
{
public bool C { get; set; }
}
目标是为 属性Grid 创建自定义编辑器,其中包含复选框控件并设置 属性 B.C ClassA
实例
这是我的 xaml 代码:
<ig:XamPropertyGrid x:Name="pGrid">
<ig:XamPropertyGrid.EditorDefinitions>
<ig:PropertyGridEditorDefinition>
<ig:PropertyGridEditorDefinition.TargetProperties>
<system:String>B</system:String>
</ig:PropertyGridEditorDefinition.TargetProperties>
<ig:PropertyGridEditorDefinition.EditTemplate>
<DataTemplate>
<CheckBox Content="XYC" IsChecked="{Binding Value.C}"></CheckBox>
</DataTemplate>
</ig:PropertyGridEditorDefinition.EditTemplate>
</ig:PropertyGridEditorDefinition>
</ig:XamPropertyGrid.EditorDefinitions>
</ig:XamPropertyGrid>
一开始,我为 属性Grid 设置了这样的选定对象:
public MainWindow()
{
InitializeComponent();
ClassA a = new ClassA();
a.B = new ClassB();
pGrid.SelectedObject = a;
}
但是当我选中复选框时,属性 C 不会改变。据我调试,Editor DataTemplate 中的 Value 属性 为空。 (我在 Binding 中放了一个转换器来检查。)
提前致谢。
看来这只是XamPropertyGrid的一个bug,你需要做的就是更新到2015.2版本
我在 C# WPF 中使用 Infragistics 的 "XamPropertyGrid", 我创建了两个 类 如下:
public class ClassA
{
public ClassB B { get; set; }
}
public class ClassB
{
public bool C { get; set; }
}
目标是为 属性Grid 创建自定义编辑器,其中包含复选框控件并设置 属性 B.C ClassA
实例这是我的 xaml 代码:
<ig:XamPropertyGrid x:Name="pGrid">
<ig:XamPropertyGrid.EditorDefinitions>
<ig:PropertyGridEditorDefinition>
<ig:PropertyGridEditorDefinition.TargetProperties>
<system:String>B</system:String>
</ig:PropertyGridEditorDefinition.TargetProperties>
<ig:PropertyGridEditorDefinition.EditTemplate>
<DataTemplate>
<CheckBox Content="XYC" IsChecked="{Binding Value.C}"></CheckBox>
</DataTemplate>
</ig:PropertyGridEditorDefinition.EditTemplate>
</ig:PropertyGridEditorDefinition>
</ig:XamPropertyGrid.EditorDefinitions>
</ig:XamPropertyGrid>
一开始,我为 属性Grid 设置了这样的选定对象:
public MainWindow()
{
InitializeComponent();
ClassA a = new ClassA();
a.B = new ClassB();
pGrid.SelectedObject = a;
}
但是当我选中复选框时,属性 C 不会改变。据我调试,Editor DataTemplate 中的 Value 属性 为空。 (我在 Binding 中放了一个转换器来检查。)
提前致谢。
看来这只是XamPropertyGrid的一个bug,你需要做的就是更新到2015.2版本