一千萬個為什麽

搜索

當面板中的元素具有焦點時,更改WPF StackPanel背景顏色

如果我在StackPanel中有一組控件,當StackPanel中的任何控件獲得焦點時,是否有通用的方法來更改stackpanel的背景? (當StackPanel中沒有控件具有焦點時,顯然會切換背景)。下面的代碼對我有用,但是有一個通用的方法來完成這個任務,而不必在我的頁面中的每個StackPanel中列出每個控件。

謝謝!


    
    
    

Mortgagor
New Owner
Tenant
Unknown Occupant
 

最佳答案

是。你可以做到這一點。只需使用 IsKeyboardFocusWithin 屬性作為觸發器,例如這個:


    
        
        
    
    Mortgagor
    New Owner
    Tenant
    Unknown Occupant

但請記住,您需要告訴觸發器在同一元素中查找屬性,因此, RelativeSource = {RelativeSource Self} 。或者,您可以命名堆棧面板並使用此xaml:


    ...
                
    ...

轉載註明原文: 當面板中的元素具有焦點時,更改WPF StackPanel背景顏色