无法将Ribbon TextBox isEnabled设置为False

时间:2011-07-30 13:41:11

标签: c# wpf ribbon-control isenabled

我一直在试用Ribbon控件并遇到了可能的错误(或者我做错了)。如果RibbonTextBox上有RibbonTab,并且在后面的代码中将 isEnabled 设置为 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

2 个答案:

答案 0 :(得分:5)

显然,这是一个已知问题

RibbonTextBox IsEnabled property is always false

该链接也提供了一种可能的解决方法 更新:我自己尝试了这种解决方法,确实有效

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

答案 1 :(得分:1)

我也尝试了这种解决方法,但我遇到了问题。

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

如果我在我的MainWindow.xaml.cs中包含变通方法代码,我会收到错误“无法找到类型或命名空间名称'RibbonTextBox'。

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

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