WPF 和 RibbonControlsLibrary 在不使用绑定的情况下引发 BindingExpression 路

本文关键字:情况下 BindingExpression 绑定 RibbonControlsLibrary WPF | 更新日期: 2023-09-27 18:33:13

我有一个关于WPF和RibbonControlsLibrary的问题。我试图自己找到此错误的来源,但我似乎找不到它。

我正在使用 Microsoft 中的 WPF 功能区控件库。使用功能区切换按钮时,即使我的 XAML 代码中没有任何绑定,我也会收到以下错误。

<r:RibbonWindow x:Class="WpfApplication.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="300" Width="300"
    xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary">
    <r:Ribbon>
        <r:RibbonTab Header="Admin" >
            <r:RibbonMenuButton/>
        </r:RibbonTab>
    </r:Ribbon>
</r:RibbonWindow>

System.Windows.Data 错误: 39 : 绑定表达式路径错误: 在"对象"上找不到"IsChecked"属性 "功能区菜单按钮" (名称=")"。BindingExpression:Path=IsChecked; DataItem='RibbonMenuButton' (Name='');目标元素为 "功能区切换按钮"(名称="PART_ToggleButton");目标属性为 "无目标"(类型"对象")

我对错误的最后一部分有点困惑:target element is RibbonToggleButton (Name='PART_ToggleButton'); target property is 'NoTarget' (type 'Object').我的 XAML 代码中根本没有功能区切换按钮?

其他人是否看到了这样的行为,并能够为我指出正确的方向以摆脱此错误输出?

WPF 和 RibbonControlsLibrary 在不使用绑定的情况下引发 BindingExpression 路

我在任何功能区按钮的 VS 输出中看到该错误。 我试图解决它,但没有运气。 不幸的是,我想出的唯一解决方法是这是您可以忽略的错误之一。

查看 MSDN 上的 RibbonMenuButton 类文档,我发现它使用 PART_ToggleButton 作为 TemplatePart 属性。本文介绍模板部件的工作原理。由于它已烘焙到控件中,因此可能是预期行为。

更新:

看起来 WPF 团队已在此处的评论中收到该问题的通知。也许它会在下一个版本中修复。