Silverlight datagridtemplateColumn vs. datagridtextolumn
-
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» для второго. Проблема применяет ony к преобразователю переднего плана, связывание в порядке.
Решение
Я думаю, что вопрос заключается в том, что свойство переднего плана DatagridTextexcolumn не является свойством зависимости и, следовательно, не может использоваться для присмотра данных.
Свойство переднего плана текстового блока, используемого для CellTemplate, представляет собой свойство зависимости и, следовательно, допустимая цель для DATANDINGING.
http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.foreground(v=vs.95).aspx.
Ссылка:
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.