ボタン用のスタイルがあります。ボタンが有効かどうかによって、背景を変更したいと思います。これは、次のようになります。DataTriggerを使用してスタイル内のセルにバインドする
<Style x:Key="MyButtonStyle" TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Button}, Path=IsEnabled, PresentationTraceSources.TraceLevel=High}" Value="False">
<Setter Property="Background" Value="Purple"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Button}, Path=IsEnabled, PresentationTraceSources.TraceLevel=High}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
これは単なる基本例です。実際にはMultiDataTriggerが必要ですが、通常のDataTriggerでは動作しません。私が見るのはグレーのボタンだけです。
これはトレースである:
System.Windows.Data警告:56:作成結合についてBindingExpression(ハッシュ= 31767240)(ハッシュ= 6303779)
System.Windows.Data警告:58:パス: 'でIsEnabled'
System.Windows.Data警告:60:BindingExpression(ハッシュ= 31767240):61:BindingExpression(= 31767240ハッシュ)に解決デフォルト更新トリガデフォルトモードが一方向
System.Windows.Data警告に解決PropertyChanged
System.Windows.Data警告:62:BindingExpression(ハッシュ= 31 System.Windows.Data警告:66:BindingExpression(ハッシュ= 31767240):RelativeSource(FindAncestor)にはツリーコンテキストが必要です
System.Windows.Controls.Button.NoTarget(Attach to System.Windows.Controls.Button.NoTarget)データの警告:65:BindingExpression(ハッシュ= 31767240):ソースの解決を延期
System.Windows.Data警告:67:BindingExpression(ハッシュ= 31767240):ソースの解決
System.Windows.Data警告:70:BindingExpression(ハッシュ= ):Foundデータコンテキスト要素:(OK)
System.Windows.Data警告:73:Button型照会先の祖先:クエリグリッド(ハッシュ= 35377238)
System.Windows.Data警告:73:型の祖先を検索します。 Bu System.Windows.Data警告:73:Button型の祖先を参照します。クエリの境界線(ハッシュ= 48541090)
System.Windows.Data警告:73:Button型の祖先を参照します。 (ハッシュ= 22721178)
System.Windows.Data警告:73:Buttonの照会先祖を照会しました:クエリされたグリッド(ハッシュ= 32321338)
System.Windows.Data警告:73:Buttonの照会祖先:照会されたContentPresenter (ハッシュ= 31184590)
System.Windows.Data警告:73:Button型の祖先を参照します。クエリの境界線(ハッシュ= 37117888)
System.Windows.Data警告:73:Button型の祖先を参照します。 PanelControl(hash = 873549)
System.Windows.Data警告:73:Button型の祖先を検索します。クエリされたグリッド(ハッシュ= 29953511)
System.Windows.Data警告:73:Button型の祖先を照会しました。ContentPresenter System.Windows.Data警告:73:Button型の祖先を検索します。クエリの祖先を参照します。クエリの祖先を照会します。ハッシュ= 42576376
System.Windows.Data警告: 23566381)
System.Windows.Data警告:73:型ボタンのルックアップ祖先:照会メインウィンドウ(ハッシュ= 38392424)
ボタンが配置されているグリッドから始まる全体のビジュアルツリーを通り抜けているように見えますが、なぜボタンで始まらないのですか?
私の答えがあなたを助けてくれたなら、気にしないならチェックボックスを "答え"としてください。 –