Wpf 在常规窗口(不是RibbonWindow)中使用时功能区绑定失败

Wpf 在常规窗口(不是RibbonWindow)中使用时功能区绑定失败,wpf,binding,.net-3.5,ribbon,Wpf,Binding,.net 3.5,Ribbon,我正在使用.net 3.5的RibbonControlLibrary中的Ribbon控件 对于某些演示文稿兼容性问题,我无法使用RibbonWindow。因此,我在窗口中放置了一个Ribbon控件 没有可见的问题,但我在VisualStudio输出窗口中收到2条错误消息 这些信息是: System.Windows.Data错误:4:找不到与绑定的源 参考“相对资源查找器”, AncestorType='Microsoft.Windows.Controls.Ribbon.Ribbon窗口', An

我正在使用.net 3.5的RibbonControlLibrary中的Ribbon控件

对于某些演示文稿兼容性问题,我无法使用
RibbonWindow
。因此,我在
窗口中放置了一个Ribbon控件

没有可见的问题,但我在VisualStudio输出窗口中收到2条错误消息

这些信息是:

  • System.Windows.Data错误:4:找不到与绑定的源 参考“相对资源查找器”, AncestorType='Microsoft.Windows.Controls.Ribbon.Ribbon窗口', AncestorLevel='1'。BindingExpression:Path=WindowState;DataItem=null; 目标元素为“Ribbon”(名称=“”);目标属性为“NoTarget” (键入“对象”)

  • System.Windows.Data错误:4:找不到与绑定的源 参考“相对资源查找器”, AncestorType='Microsoft.Windows.Controls.Ribbon.Ribbon窗口', AncestorLevel='1'。BindingExpression:Path=IsActive;DataItem=null; 目标元素为“Ribbon”(名称=“”);目标属性为“NoTarget” (键入“对象”)

  • 只需将
    功能区
    添加到
    窗口
    并运行应用程序,即可复制此功能


    有没有办法告诉Ribbon不要尝试将任何东西完全绑定到RibbonWindow,而是绑定到Window?

    既然你说你不能使用RibbonWindow(出于某种原因…),我假设你正在做类似的事情

    <Window x:Class="Yournamespace" ...>
        <Ribbon>
        </Ribbon>
    </Window>
    
    
    
    你的祖先应该是
    AncestorType='System.Windows.Window'
    而不是
    'Microsoft.Windows.Controls.Ribbon.RibbonWindow'
    您可能有:

    <Window x:Class="yournamespace" 
        xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
    ...>
        <r:Ribbon>
        </r:Ribbon>
    </Window>
    
    To fix this just replace <Window> and </Window> with <r:RibbonWindow> and </r:RibbonWindow>
    
    
    要解决此问题,请使用和替换
    

    这为我解决了问题

    我理解原因,但不知道如何解决问题。A好吧,Ribbon内的某些控件的模板可以在外部样式中重写,以使其看起来像一个存储类型的窗口,而不是RibbonWindow。可能我误解了您的答案,但您的建议似乎是不要介意这些绑定问题。如果我可以使用RibbonWindow,就没有问题了。我的问题是“我不能使用RibbonWindow来解决某些演示文稿兼容性问题”。如果您能给出一个使用RibbonWindow时的基本代码示例及其产生的错误,我们可能会看到哪里出了问题。对我来说,当我使用ribbonwindow时,错误消失了。我觉得很奇怪,你不能使用它。我不使用RibbonWindow,我在常规WPF窗口上放置了一个Ribbon,这就是重点。RibbonWindow的外观和行为有点不同,这些差异在我的应用程序中是不可接受的。我正在对.NET 472使用System.Windows.Controls.Ribbon,并且是相同的。但我不确定这些错误是否会导致任何真正的问题。可能是重复的