Silverlight DataGridTemplateColumn vs DataGridTextColumn
-
28-09-2019 - |
Pregunta
¿Por qué funciona esto ...
<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>
Pero esto no ...
<data:DataGridTextColumn Header="YTD v. Exchange"
Binding="{Binding ytdExchangeReturn.value, Converter={StaticResource fcFixedDecimalConverter}}"
Foreground="{Binding ytdExchangeReturn.value, Converter={StaticResource fcForegroundValueConverter}}"/>
recibo el mensaje 'System.Windows.Markup.XamlParseException: AG_E_PARSER_BAD_PROPERTY_VALUE' para la segunda. El problema se aplica al convertidor ony primer plano, la unión está muy bien.
Solución
Creo que el problema es que la propiedad primer plano de la DataGridTextColumn no es una propiedad de dependencia y por lo tanto no se puede utilizar para el enlace de datos.
La propiedad primer plano de la TextBlock utilizado para la CellTemplate es una propiedad de dependencia y por lo tanto un objetivo válido para el enlace de datos.
http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.foreground(v=vs.95).aspx
Referencia:
http://forums.silverlight.net/forums/p /151524/338879.aspx#338879