我正在使用RibbonControlLibrary中的Ribbon控件来处理.net 3.5。
我无法使用RibbonWindow
来解决某些与演示兼容性问题。所以我在Window
内放置了一个Ribbon控件。
没有明显的问题,但我在VisualStudio输出窗口中收到2条错误消息。
这些消息是:
System.Windows.Data错误:4:无法找到绑定源 参考'RelativeSource FindAncestor, AncestorType = 'Microsoft.Windows.Controls.Ribbon.RibbonWindow', AncestorLevel = '1'”。 BindingExpression:路径=的WindowState;的DataItem = NULL; target元素是'Ribbon'(Name ='');目标属性是'NoTarget' (输入'对象')
- 醇>
System.Windows.Data错误:4:无法找到绑定源 参考'RelativeSource FindAncestor, AncestorType = 'Microsoft.Windows.Controls.Ribbon.RibbonWindow', AncestorLevel = '1'”。 BindingExpression:路径= IsActive;的DataItem = NULL; target元素是'Ribbon'(Name ='');目标属性是'NoTarget' (输入'对象')
只需将Ribbon
添加到Window
并运行该应用程序即可重现。
有没有办法告诉Ribbon不要尝试将任何内容完全绑定到RibbonWindow但是对于Window?
答案 0 :(得分:1)
既然你说你不能使用RibbonWindow(出于某种原因...),我假设你正在做类似的事情
<Window x:Class="Yournamespace" ...>
<Ribbon>
</Ribbon>
</Window>
你的祖先应该是
AncestorType='System.Windows.Window'
而非'Microsoft.Windows.Controls.Ribbon.RibbonWindow'
答案 1 :(得分:-1)
你可能有:
<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>
这为我修好了