2010-11-18 13 views
5

मेरे पास आशावादी मामूली सवाल है। वर्तमान में, मेरी कंपनी एक अस्पष्ट भाषा (सिंजर्जीडे) के साथ काम करती है और हमें अपने उत्पाद के अंदर एक सिल्वरलाइट एप्लिकेशन कॉल करने की आवश्यकता है। दुर्भाग्यवश, यह अस्पष्ट तृतीय पक्ष भाषा केवल (वर्तमान में) WPF स्क्रीन के उद्घाटन का समर्थन करती है। तो इसके साथ, मैंने सोचा कि मैं एक छोटा WPF उपयोगकर्ता नियंत्रण विकसित करूंगा जिसमें "WebBrowser" नियंत्रण होगा और Silverlight एप्लिकेशन के URI पर नेविगेट करें। यह ठीक काम करता है, और मैं एसएल आवेदन देखने में सक्षम हूं। यहां मेरा प्रश्न है - हमारे पास एसएल एप्लिकेशन पर "बंद करें" बटन है, और जब उपयोगकर्ता उस बटन पर "क्लिक" करते हैं, तो हम विंडो को बंद करना चाहते हैं।WPF WebBrowser के अंदर सिल्वरलाइट ऐप?

क्या किसी के पास कोई सुझाव है कि हम WPF उपयोगकर्ता नियंत्रण में "एसएल ऐप का समापन" कैसे संवाद कर सकते हैं, ताकि संपूर्ण WPF उपयोगकर्ता नियंत्रण भी बंद हो जाए?

सभी को धन्यवाद,

टॉम

उत्तर

1

WebBrowser.Navigated ईवेंट में इवेंट हैंडलर संलग्न करें।

सिल्वरलाइट आवेदन उपयोग में समाप्त करें बटन: -

HtmlPage.Window.Navigate(new Uri("about:blank", UriKind.Absolute)); 

जब यूआरएल "about: blank" के साथ WPF में नेविगेट घटना आग तो अपने समय के नियंत्रण बंद हुआ।

+0

धन्यवाद! इसने एकदम जादू की तरह काम किया। – arctek

0

उपयोग जावास्क्रिप्ट और गोंद यहाँ HTML के रूप में डोम।

उदाहरण के लिए, जब एसएल ऐप बंद बटन क्लिक किया जाता है, तो सिल्वरलाइट कुछ जावास्क्रिप्ट कोड ट्रिगर करता है जो ध्वज सेट करता है, या वैकल्पिक रूप से, कुछ HTML दस्तावेज़ ईवेंट उठाता है।

WPF नियंत्रण HTML + जावास्क्रिप्ट में उस ध्वज को मतदान कर सकता है, या वैकल्पिक रूप से उस HTML दस्तावेज़ ईवेंट को सुन सकता है, फिर उपयोगकर्ता नियंत्रण बंद कर देता है।

+0

एचटीएमएल दस्तावेज़ बंद घटना के बारे में कैसे सुनेंगे? मैं जावास्क्रिप्ट के माध्यम से WebBrowser नियंत्रण को बंद करने में सक्षम हूं (लेकिन उपयोगकर्ता नियंत्रण खुला रहता है), लेकिन मुझे यकीन नहीं है कि श्रोता को नियंत्रण में "प्लग इन" कैसे करें (WPF <-WebBrowser)? माफ करना अगर यह एक बेवकूफ सवाल है। – arctek

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