Silverlight DataGridTemplateColumn vs. 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' للثاني. تنطبق المشكلة على ony على المحول الأمامي ، والربط جيد.
المحلول
أعتقد أن المشكلة هي أن الخاصية الأمامية لـ DataGridTextColumn ليست خاصية التبعية وبالتالي لا يمكن استخدامها في مجال البيانات.
خاصية المقدمة من 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
لا تنتمي إلى StackOverflow