【发布时间】:2010-11-09 06:31:29
【问题描述】:
我尝试进行一些涉及资源中定义的 x:Array 的数据绑定,但不知何故,即使代码正在编译,它也不起作用。 在资源中,我以这种方式定义了一个字符串数组:
<x:Array x:Key="ArrayReportType" Type="{x:Type sys:String}">
<sys:String>Energy Export</sys:String>
<sys:String>Cost Center Report</sys:String>
</x:Array>
我还有一个对象集合。其中一个属性称为“ReportType”,是一个整数/枚举。 所以我想进行数据绑定以将相应的字符串显示给 ReportType 而不是 int/enum。 我试过这条线,但它不起作用(第二行导致pb):
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Type"
Binding="{Binding Source={StaticResource ArrayReportType}, Path=[{Binding ReportType}]}" />
我确定,我已经接近解决方案了。如果我直接写“Path=[1]”,那就对了。 在运行时,我收到此错误:
System.Windows.Data 错误:40:BindingExpression 路径错误:在“object”“String[]”(HashCode=14199578)上找不到“[]”属性。 BindingExpression:Path=[{Binding ReportType}]; DataItem='String[]' (HashCode=14199578);目标元素是'TextBlock'(名称='');目标属性是“文本”(类型“字符串”)
任何帮助将不胜感激。
【问题讨论】:
标签: wpf arrays data-binding