ここ

2012-02-03 6 views
1

を動作していないにisCheckedをチェックボックスのリボンテキストボックスでIsEnabledは、サンプル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リボンプロジェクトの上部と下部にあるエリプスを除いた上記のコードを追加して、何が間違っているかを調べることができます。たとえば、バインディングエラー診断は表示されません。

更新RibbonTextBoxの代わりに通常のTextBoxを使用すると、動作が正しくなります。私は、RibbonTextBoxのIsEnabledプロパティをバインドする際に問題があるはずだと結論づけます。

きたい更新#2:基本的なRibbonTextBoxを作成し、TrueにそのIsEnabledプロパティを設定無効RibbonTextBoxを作成します。何がありますか?

Microsoft Connectでbug reportを提出し、この問題をさらに解決しました。

最終更新:それはfixed in WPF 4.5です。

+0

何診断を行っていますか? –

+0

これは、WPF診断にバインディングエラーがないことを意味します。 –

+0

RibbonTextBoxのIsEnabledChangedとRibbonCheckBoxのCheckedイベントにフックし、コールバックで何が起こるのですか? –

答えて

0

野生の推測として、プロパティを完全に修飾しようとしましたか?

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

...または多分...あなたは

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

はい、IsEnabledは、RibbonCheckBoxのバグのためにちょうど壊れています。それのまわりではありません。 –

+0

あなたの周りに道がないと確信していますか?あなたは 'Attached Properties'で不思議をすることができます。興味がある場合は、このMSDN [article](http://msdn.microsoft.com/en-us/library/ms749011.aspx)を参照してください。 – Sheridan

+0

http://connect.microsoft.com/VisualStudio/feedback/details/633097/ribbontextbox-isenabled-property-is-always-false – user7116