我有一個按鈕樣式。根據是否啓用按鈕,我想更改背景。這看起來是這樣的:用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 Warning:60:BindingExpression(hash = 31767240):默認模式解析爲OneWay
System.Windows.Data警告:61:BindingExpression(hash = 31767240):默認更新觸發器解析爲PropertyChanged
System.Windows.Data警告:62:BindingExpression(hash = 31 767240):附加到System.Windows.Controls.Button.NoTarget(hash = 24311680)
System.Windows.Data Warning:66:BindingExpression(hash = 31767240):RelativeSource(FindAncestor)需要樹上下文
System.Windows。數據警告:65:BindingExpression(hash = 31767240):解決源延遲
System.Windows.Data Warning:67:BindingExpression(hash = 31767240):解析源
System.Windows.Data警告:70:BindingExpression(hash = (確定)
System.Windows.Data警告:73:查找祖先的類型Button:查詢網格(哈希= 35377238)
System.Windows.Data警告:73:查找類型的祖先卜tton:查詢ContentPresenter(hash = 51189900)
System.Windows.Data警告:73:Lookup祖先類型Button:查詢邊框(hash = 48541090)
System.Windows.Data警告:73:查找祖先的類型Button:查詢StartStopControl(哈希= 22721178)
System.Windows.Data警告:查找祖先類型Button:查詢網格(哈希= 32321338)
System.Windows.Data警告:73:類型查找祖先Button:查詢ContentPresenter (哈希= 31184590)
System.Windows.Data警告:查找祖先的類型按鈕:查詢邊框(哈希= 37117888)
System.Windows.Data警告:73:查找祖先的類型按鈕:查詢菜單PanelControl(hash = 873549)
System.Windows.Data警告:73:Lookup祖先類型Button:查詢網格(哈希= 29953511)
System.Windows.Data警告:73:Lookup祖先類型Button:查詢ContentPresenter(哈希= 42576376)
System.Windows.Data警告:查找祖先的類型按鈕:查詢AdornerDecorator(哈希= 66649760)
System.Windows.Data警告:73:查找祖先的類型按鈕:查詢邊框(散列= 23566381)
System.Windows.Data警告:73:按鈕的類型查找祖先:查詢主窗口(散列= 38392424)
它看起來像貫穿整個可視化樹,從放置按鈕的網格開始。它爲什麼不以按鈕開始?
如果我的回答對你有幫助,請將複選框標記爲「答案」,如果你不介意的話。 –