不能将RibbonTextBox的isEnable设置为False

本文关键字:设置 False isEnable RibbonTextBox 不能 | 更新日期: 2023-09-27 18:03:56

我一直在尝试Ribbon控件,并遇到了一个可能的错误(或者我可能做错了什么)。如果我在RibbonTab上有一个RibbonTextBox,并在后面的代码中将isEnabled设置为FalseTrue,我只能将其设置为False而不是True。

RibbonTextBox仍待禁用。
/* in my XAML */
<ribbon:RibbonTextBox x:Name="rtb" Label="Button1" />
/* in my code behind */
rtb.IsEnabled = false;  // RibbonTextBox is disabled and grayed out
... some other code ...
rtb.IsEnabled = true;   // RibbonTextBox remain disabled and grayed out

不能将RibbonTextBox的isEnable设置为False

显然,这是一个已知的问题

RibbonTextBox IsEnabled属性始终为false

在该链接
也给出了一个可能的解决方案更新:我自己尝试了这个解决方案,它确实工作

public class FixedRibbonTextBox : RibbonTextBox
{
    protected override bool IsEnabledCore
    {
        get { return true; }
    }
}

我也尝试过这个解决方案,我有问题。

在xaml中,我没有问题设置和定义一个RibbonTextBox的一些属性。我可以运行代码,文本框显示在屏幕上,但没有启用。

如果我在MainWindow.xaml.cs中包含解决方案代码,我会得到一个错误"类型或命名空间名称'RibbonTextBox'找不到"。

  1. 我必须包括代码(MainWindow.xaml.cs ?)。

  2. 命名空间system.windows.controls.ribbon是未知的。哪个dll必须设置为引用(不能找到System.Windows.Controls.Ribbon在引用)?我想我必须使用这个命名空间来获得ribbontextbox。我使用VS2010 express c#.

相关文章: