Mamy niestandardowe płótno, które ma wyspecjalizowane węzły, które zachowują się podobnie do standardowych aplikacji MDI. Pożądanym zachowaniem jest to, że jeśli dowolna z kontrolek podrzędnych "okna" ma fokus, to "okno" jest uważane za aktywne.Jak mogę ustawić niestandardową formant na podstawie tego, czy któreś z jego elementów podrzędnych ma fokus?
Właściwość IsFocused nie wydaje się kaskadowa, co oznacza, że kontrola podrzędna ma fokus, jej pojemnik nie jest również ustawiony na "skupiony", więc nie możemy tego użyć. Z tego samego powodu nie możemy ustawić właściwości IsFocused na kontenerze, ponieważ uważam, że ukradłoby to dziecko.
Moim jedynym pomysłem jest stworzenie nowego DP o nazwie HasChildWithFocus lub coś podobnego, następnie w kodzie z tyłu, należy nasłuchiwać zdarzeń związanych z bąbelkami i ustawić tę flagę. Nie jestem pewien, czy to najlepszy sposób. (Możemy to zaimplementować jako połączenie przypisanej właściwości/przywiązanego zachowania, coś w tym stylu.)
Ale oczywiście byłoby znacznie lepiej, gdybyśmy mogli po prostu poprosić o kontrolę "Hej ... czy ty lub którekolwiek z twoich dzieci ma skupiać?'
Więc możesz?
+1 do twojego pomysłu zachowania, które nasłuchuje, a które ustawia dołączoną właściwość. To jest sposób, w jaki bym to zrobił, nie mogę wymyślić żadnych innych błyskotliwych pomysłów! – ColinE
Cóż, +1 moje pytanie! Chodź ... pomóż geekowi tutaj! [smirk] (Dzięki za twoją opinię.) Tak ... to był jedyny sposób, jaki mogłem wymyślić.) – MarqueIV