C# 如何从控件访问主窗口中可用的资源?

C# 如何从控件访问主窗口中可用的资源?,c#,wpf,C#,Wpf,我定义了一个UserControl,其中插入了一个TabItem内容,该内容以前在main窗口中可用,我这样做是为了更好地组织代码 无论如何,我有几个选项卡项使用名为GroupedItems的静态资源。此资源在主窗口中可用: <Window.Resources> <ResourceDictionary> <CollectionViewSource Source="{Binding Matches}" x:Key="GroupedIt

我定义了一个
UserControl
,其中插入了一个
TabItem
内容,该内容以前在
main窗口中可用,我这样做是为了更好地组织代码

无论如何,我有几个选项卡项使用名为
GroupedItems
的静态资源。此资源在主窗口中可用:

<Window.Resources>
    <ResourceDictionary>     
        <CollectionViewSource Source="{Binding Matches}" x:Key="GroupedItems">
            <CollectionViewSource.GroupDescriptions>
                <PropertyGroupDescription PropertyName="MatchNation" />
                <PropertyGroupDescription PropertyName="MatchLeague" />
            </CollectionViewSource.GroupDescriptions>
        </CollectionViewSource>
    </ResourceDictionary>
</Window.Resources>

在我的控制下,我有:

<ListView Name="Playing" ItemsSource="{Binding Source={StaticResource GroupedItems}}">

但是编译器找不到资源,因为我遇到以下错误:

无法解析资源GroupedItems


这就是为什么我在
主窗口中有此资源的原因,我如何从控件访问它?

将其移动到app.xaml,它将可用于当前项目

<Application.Resources>
<ResourceDictionary>     
    <CollectionViewSource Source="{Binding Matches}" x:Key="GroupedItems">
        <CollectionViewSource.GroupDescriptions>
            <PropertyGroupDescription PropertyName="MatchNation" />
            <PropertyGroupDescription PropertyName="MatchLeague" />
        </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>
</ResourceDictionary>
</Application.Resources>


我认为最好通过另一个绑定将资源传递给您的控件property@slawekwin如果我有x控制,我需要通过x次。我认为最好在主窗口中(在一个地方)设置resource
GroupedItems
,并从任何地方进行访问。我的意思是为控件提供一个依赖属性,并将静态字典绑定到主窗口中的所有实例。这只是一个一般性的想法,因为在访问静态资源时,错误有时会显示在XAML中。但实际上没有错误。如果已正确写入所有静态资源的名称,则清理项目并重新生成,大多数时间错误都会消失