Silverlight DataGridTemplateColumn vs. DataGridTextColumn - PullRequest
3 голосов
/ 18 июня 2010

Почему это работает ...

<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' длявторой.Проблема распространяется только на конвертер Foreground, привязка в порядке.

1 Ответ

2 голосов
/ 20 июня 2010

Я думаю, что проблема в том, что свойство Foreground DataGridTextColumn не является свойством зависимости и, следовательно, не может использоваться для привязки данных.

http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtextcolumn.foreground(v=VS.95).aspx

Свойство Foreground TextBlock, используемое для CellTemplate, является свойством зависимости и, следовательно, допустимой целью для привязки данных.

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

...