绑定功能区文本框IsEnabled复选框IsChecked不起作用

时间:2012-02-03 16:43:57

标签: wpf ribbon ribboncontrolslibrary

以下是示例XAML:

...
<ribbon:RibbonTab Header="MyTab">
  <ribbon:RibbonGroup Header="Blah">
    <ribbon:RibbonTextBox x:Name="MyTextBox" 
                          IsEnabled="{Binding IsChecked, ElementName=MyCheckBox}" />
    <ribbon:RibbonCheckBox x:Name="MyCheckBox" Label="some text" />
  </ribbon:RibbonGroup>
</ribbon:RibbonTab>
...

出于某种原因,无论是否选中该复选框,文本框都将保持禁用状态。为什么绑定不能正常工作?

您可以将上面的代码减去顶部和底部的椭圆形到锅炉板WPF功能区项目,看看是否可以找出问题所在。例如,我没有看到绑定错误诊断。

更新:如果常规TextBox替代RibbonTextBox,则行为正确无误。我的结论是绑定RibbonTextBox的IsEnabled属性时必定存在一些问题。

Freaky update#2 :创建基本RibbonTextBox并将其IsEnabled属性设置为True会创建一个禁用的RibbonTextBox。是什么给了什么?

我已在Microsoft Connect上提交bug report以进一步解决此问题。

最终更新:它是fixed in WPF 4.5

1 个答案:

答案 0 :(得分:0)

作为一个疯狂的猜测,您是否尝试完全限定该属性?

IsEnabled="{Binding RibbonCheckBox.IsChecked, ElementName=MyCheckBox}" 

......或者甚至......

IsEnabled="{Binding CheckBox.IsChecked, ElementName=MyCheckBox}"