У меня есть 3 сетки данных. Вторая и третья сетки данных должны отображать только подмножество значений из первой сетки данных на основе выбранной строки в первой сетке данных.
C#:
_context.MyFor.Load();
F = new ObservableCollection<DB.Forum>(_context.MyFor.Local);
В XAML я определяю ресурсы:
<Window.Resources>
<CollectionViewSource Source="{Binding F}" x:Key="CVSF" x:Name="CVSF" />
<CollectionViewSource Source="{Binding FUsers, Source={StaticResource CVSF}}" x:Key="CVSUsers" x:Name="CVSUsers" />
<CollectionViewSource Source="{Binding FOptions, Source={StaticResource CVSF}}" x:Key="CVSOptions" x:Name="CVSOptions" />
</Window.Resources>
Привязка делается так:
// Datagrid 1:
<DataGrid ItemsSource="{Binding Source={StaticResource CVSF}}" />
// Datagrid 2:
<DataGrid ItemsSource="{Binding Source={StaticResource CVSUsers}}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding User.UserUsername}" Header="UserName" x:Name="UserCol2" />
</DataGrid.Columns>
</DataGrid>
// Datagrid 3:
<DataGrid ItemsSource="{Binding Source={StaticResource CVSOptions}}" PresentationTraceSources.TraceLevel="High" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding CountryName}" Header="Country1" />
<DataGridTextColumn Binding="{Binding Country.CountryName}" Header="Country2" />
<DataGridTextColumn Binding="{Binding ForumOptions.Country.CountryName}" Header="Country3" />
</DataGrid.Columns>
</DataGrid>
Проблема: первый датагрид показывает все. Второй показывает только тех пользователей, которые принадлежат выбору первой сетки данных (как и ожидалось). Но третий datagrid ничего не показывает (см. ошибку ниже). Я предполагаю, что это потому, что возврат является объектом (а не CollectionView).
System.Windows.Data Error: 5 : Value produced by BindingExpression
is not valid for target property.;
Value='System.Data.Entity.DynamicProxies.ForumOptions_0DF21D7'
BindingExpression:Path=ForumOptions;
DataItem='ListCollectionView' (HashCode=34116599);
target element is 'CollectionViewSource' (HashCode=62307935);
target property is 'Source' (type 'Object')
Как отобразить связанные результаты в третьей сетке данных?
FOptions
свойстваCountryName
,Country
иForumOptions
? - person Hamlet Hakobyan   schedule 17.04.2014