2011-06-18 22 views
9

मेरे पास एक WPF विंडो है जिसे मैं केवल एक बार बनाता हूं और फिर कई बार दिखाता हूं() और छुपाएं()। अब मैं प्रत्येक शो() पर एक तत्व पर ध्यान केंद्रित करने का एक तरीका खोज रहा हूं। मैं यह कहां और कैसे कर सकता हूं?WPF विंडो सेट फोकस

+2

अपनी खिड़की –

+0

की सक्रिय घटना का उपयोग केवल पिक्य होने के लिए करें: यह उपयोगकर्ता इंटरफ़ेस दिशानिर्देश नहीं है लेकिन उपयोगकर्ता अनुभव उपयोगकर्ताओं से जो उन्होंने सेट किया है उससे गड़बड़ करना पसंद नहीं है। अर्थात। यदि मैं किसी टेक्स्टबॉक्स पर फ़ोकस सेट करता हूं तो कुछ मूल्य कॉपी करने के लिए alt-tab आउट अगर आप फॉर्म को छुपाएं और दिखाएं तो मैं उस टेक्स्टबॉक्स में अभी भी होने की उम्मीद करता हूं। लेकिन निश्चित रूप से आपका प्रश्न उपयोगकर्ता की आवश्यकता से प्रेरित हो सकता है। उस मामले में बस सबकुछ भूल जाओ :) –

उत्तर

5

WPF में वहाँ दो मुख्य अवधारणाओं कि ध्यान केंद्रित से संबंधित हैं: कीबोर्ड और तार्किक फोकस। कीबोर्ड फोकस उस तत्व को संदर्भित करता है जो कुंजीपटल इनपुट प्राप्त करता है और तार्किक फोकस उस फोकस स्कोप में तत्व को संदर्भित करता है जिस पर ध्यान केंद्रित किया गया है। this अवलोकन में इन अवधारणाओं पर विस्तार से चर्चा की गई है।

आप संभवतः एक ही विधि में दोनों को संभालने के लिए विंडो .Show/Hide और element.Focus कार्यक्षमताओं को शामिल करके शोहाइड विधि लिख सकते हैं।

18

केवल उस तत्व पर Element.Focus() को कॉल करें जिसे आप फोकस करना चाहते हैं।

आप विंडो पर फोकस लाने window.Activate से कॉल करके मतलब तो()

संबंधित मुद्दे