У меня есть DataTemplate
, определенный в другом файле. Этот шаблон содержит DataGrid
, в котором мне нужно иметь группы.
Фрагмент шаблонов XAML :
<DataTemplate x:Key="SomeTemplate">
<DataGrid ...>
<DataGrid.GroupStyle>
<StaticResource ResourceKey="SomeGroupingStyle" />
</DataGrid.GroupStyle>
...
</DataGrid>
Стиль группы определяется в основной XAML , где этот шаблон прикрепляется к:
<UserControl.Resources>
<ResourceDictionary>
<CollectionViewSource x:Key="SomeSource" Source="{Binding Elements}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Name" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<GroupStyle x:Key="SomeGroupingStyle">
...
</GroupStyle>
</ResourceDictionary>
<!-- Here comes template -->
<ResourceDictionary Source="/path;component/UI/ViewTemplates.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
После запуска моего приложения возникает исключение:
Exception: Die Ressource mit dem Namen "SomeGroupingStyle" kann nicht gefunden werden.
, что означает, что DataGridGroupStyle не был нашел. Ссылка на этот стиль как на DynamicResource тоже не работает.
Как я могу использовать GroupStyle в DataTemplate, который хранится в другом файле?
UPD: Похоже, мой DataTemplate вообще не видит никаких ресурсов из основного макета - SomeSource
вызывает ту же ошибку, когда я перемещаю SomeGroupingStyle
в тот же файл с шаблоном.
И вот как DataTemplate
отображается в основном XAML :
<ContentControl Grid.Row="2" Content="{Binding}">
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSomeCondition}" Value="True">
<Setter Property="ContentTemplate" Value="{StaticResource SomeTemplate}" />
</DataTrigger>
<DataTrigger Binding="{Binding IsAnotherCondition}" Value="True">
<Setter Property="ContentTemplate" Value="{StaticResource OtherTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
UPD 2 : DataTemplates
вообще не видит StaticResources
родителя .