我一直在试用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
答案 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'。
我必须包含代码(MainWindow.xaml.cs?)。
命名空间system.windows.controls.ribbon未知。哪个dll必须设置为引用(无法在引用中找到System.Windows.Controls.Ribbon)?我想我必须使用这个命名空间来获取ribbontextbox。我使用VS2010 express c#。