以下是示例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。
答案 0 :(得分:0)
作为一个疯狂的猜测,您是否尝试完全限定该属性?
IsEnabled="{Binding RibbonCheckBox.IsChecked, ElementName=MyCheckBox}"
......或者甚至......
IsEnabled="{Binding CheckBox.IsChecked, ElementName=MyCheckBox}"