पर क्लिक करते समय एप्लिकेशन को ध्यान केंद्रित करने का कारण नहीं बना रहा है मेरे पास एक नियंत्रण है जो इसके अंदर कुछ WPF नियंत्रणों के साथ पॉपअप का उपयोग कर रहा है, और StaysOpen = "True"। समस्या तब होती है जब एप्लिकेशन पर फोकस नहीं होता है, तो पॉपअप पर क्लिक करते समय, एप्लिकेशन को फोकस नहीं मिलता है। मैंने थोड़ा सा शोध किया है, और ऐसा लगता है कि यह इस तथ्य के कारण हो सकता है कि मेनू के लिए पॉपअप का उपयोग किया जाना चाहिए, इसलिए उनके पास सभी उचित विंडोज़ संदेश हैंडलर नहीं हैं। यहाँ समस्या demoing के लिए एक barebones नमूना है:डब्ल्यूपीएफ पॉपअप
<Window x:Class="TestWindowPopupBehavior.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:TestWindowPopupBehavior="clr-namespace:TestWindowPopupBehavior" Title="MainWindow" Height="350" Width="525">
<Grid>
<Popup StaysOpen="True" IsOpen="True" Placement="Center">
<ListBox>
<TextBlock>123</TextBlock>
<TextBlock>123</TextBlock>
<TextBlock>123</TextBlock>
<TextBlock>123</TextBlock>
<TextBlock>123</TextBlock>
<TextBlock>123</TextBlock>
</ListBox>
</Popup>
</Grid>
</Window>
- आवेदन चलाएँ।
- सूची बॉक्स के साथ बातचीत करें, जो ठीक काम करना चाहिए।
- दूसरे एप्लिकेशन पर स्विच करें।
- एप्लिकेशन सक्रिय नहीं होने पर सूची बॉक्स पर क्लिक करें। कुछ भी नहीं होता
- सूची बॉक्स के बाहर के आवेदन पर क्लिक करें।
- सूची बॉक्स पर क्लिक करें। यह अब काम कर रहा है।
चरण 4 में होने वाली मुझे उम्मीद है कि एप्लिकेशन फोकस प्राप्त करेगा, और सूचीबॉक्स नई वस्तु का चयन करेगा।
क्या इस समस्या के लिए कोई कामकाज है, या कुछ स्पष्ट है जो मुझे याद आ रही है? मैं पूरी तरह से खिड़कियों के साथ पूरे पॉपअप कोड को फिर से लिखना चाहता हूं, और हमारे व्यवहार को फिर से कार्यान्वित कर रहा हूं, लेकिन ऐसा लगता है कि इस तरह की एक छोटी सी समस्या को ठीक करने के लिए वास्तव में जटिल लगता है।
यह पूर्वावलोकन का उपयोग करने के लिए पर्याप्त होना चाहिए ... पॉप अप पर इसे फंसाने के लिए माउस ईवेंट इसकी सामग्री के लिए अधिक हैंडलर जोड़ने के बिना। – Paul
यह मेरे लिए पूर्वावलोकन XXX का उपयोग कर काम किया। – FryGuy
क्या आप पूर्वावलोकन चीज़ के बारे में अधिक विशिष्ट हो सकते हैं? मुझे एक ही समस्या है। –