7
我們有一個自定義畫布,它具有與標準MDI應用程序的窗戶非常類似的專用節點。期望的行爲是,如果「窗口」的任何子控件具有焦點,則該「窗口」被認爲是活動的。如何根據子女是否有焦點來定製自定義控件?
現在,IsFocused屬性似乎不是級聯的,意思是如果一個子控件有焦點,它的容器也不會被設置爲'集中',所以我們不能使用它。出於同樣的原因,我們不能在容器上設置IsFocused屬性,因爲我相信這會從小孩那裏偷走它。
我唯一的想法是創建一個名爲HasChildWithFocus或類似的新DP,然後在代碼隱藏中,監聽冒泡事件並設置該標誌。不知道這是最好的方法。 (我們可以將它作爲一個組合附加屬性/附加行爲來實現。)
但是,當然,如果我們可以簡單地詢問一個控件'嘿...你或你的任何孩子是否擁有焦點?'
那麼你可以嗎?
+1對您的附加行爲的想法,該附加行爲偵聽冒泡事件並設置附加屬性。這是我會這樣做的方式,我想不出任何其他明智的想法! – ColinE 2011-02-10 05:39:22
那麼+1我的問題!來吧......幫助一個怪胎出現在這裏! [傻笑](感謝您的反饋,是的......那是我能想到的唯一方法。) – MarqueIV 2011-02-10 06:21:58