Silverlight DataGridTemplateColumn与DataGridTextColumn
-
28-09-2019 - |
题
为什么这个工作...
<data:DataGridTemplateColumn Header="YTD v. Exchange" x:Name="YTDvExchange" Visibility="Collapsed" CanUserSort="True" SortMemberPath="ytdExchangeReturn.value">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right" VerticalAlignment="Center"
Text="{Binding ytdExchangeReturn.value, Converter={StaticResource fcFixedDecimalConverter}}"
Foreground="{Binding ytdExchangeReturn.value, Converter={StaticResource fcForegroundValueConverter}}"/>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
但这不是...
<data:DataGridTextColumn Header="YTD v. Exchange"
Binding="{Binding ytdExchangeReturn.value, Converter={StaticResource fcFixedDecimalConverter}}"
Foreground="{Binding ytdExchangeReturn.value, Converter={StaticResource fcForegroundValueConverter}}"/>
我得到第二个的'system.windows.markup.xamlparseexception:ag_e_parser_bad_property_value'。该问题适用于前景转换器,结合很好。
解决方案
我认为问题是DataGridTextColumn的前景属性不是依赖性属性,因此不能用于数据指标。
用于CellTemplate的文本块的前景属性是依赖项属性,因此是数据指标的有效目标。
参考:
http://msdn.microsoft.com/en-us/library/cc221408(vs.95).aspx#setting_properties_data_binding
http://forums.silverlight.net/forums/p/151524/338879.aspx#338879
不隶属于 StackOverflow