मुझे खुशी है कि आपको आपका जवाब मिल गया, लेकिन दूसरों की खातिर मैं आपके सवाल का जवाब दूंगा-साथ ही कुछ जानकारी भी जोड़ने के लिए।
चरण 1
सबसे पहले, यदि आप चाहते हैं कि आपका प्रोग्राम मुख्य विंडो बंद होने पर बाहर निकलें, तो आपको निर्दिष्ट करने की आवश्यकता है, क्योंकि यह WinForms नहीं है जहां यह व्यवहार डिफ़ॉल्ट है।
(अंतिम विंडो बंद होने पर WPF में डिफ़ॉल्ट)
कोड में
अपने प्रवेश बिंदु पर अपने आवेदन के उदाहरण पर जाएं (वीएस 2012 के डब्ल्यूपीएफ कार्यक्रम में डिफ़ॉल्ट के अंदर नेस्टेड है App.xaml
, इसलिए इसके अंदर जाएं App.xaml.cs
और एक निर्माणकर्ता पर नेविगेट करें और बनाएं)।
निर्माता में निर्दिष्ट है कि आपके Application
के ShutdownMode
होना चाहिए ShutdownMode
। OnLastWindowClose
।
public App()
{
ShutdownMode = ShutdownMode.OnLastWindowClose;
}
XAML में
अपने पर जाएं App.xaml
फ़ाइल कि वी.एस. 2012 डिफ़ॉल्ट रूप से बनाया (या इसे स्वयं बनाने) जड़ एक है Application
, जो आपके अंदर निर्दिष्ट Application
की ShutdownMode
होना चाहिए ShutdownMode
। OnLastWindowClose
।
<Application x:Class="WpfApplication27.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
ShutdownMode="OnMainWindowClose">
यदि यह काम करता है, तो आप कर रहे हैं; आप पढ़ना बंद कर सकते हैं।
चरण 2
यदि ऊपर काम नहीं किया (मुझे लगता है कि आपने खरोंच से WPF आवेदन लिखा है), मुख्य विंडो को शायद मुख्य विंडो के रूप में आवेदन के लिए नहीं जाना जाता है। तो यह है कि के रूप में अच्छी तरह से निर्दिष्ट करें।
कोड में
एप्लिकेशन के कंस्ट्रक्टर पर जाएं जैसा कि आपने चरण 1 में किया था, और इसे निर्दिष्ट करें Application
। MainWindow
आपका मूल्य है Window
:
MainWindow = mainWindow;
XAML में
Application
XAML पर जाएं जैसा आपने चरण 1 में किया था, और इसे निर्दिष्ट करें Application
। MainWindow
आपका मूल्य है Window
:
MainWindow = "mainWindow";
विकल्प
मुझे नहीं लगता कि यह सबसे अच्छा तरीका है, सिर्फ इसलिए कि WPF आपको ऐसा नहीं करना चाहता है (इसलिए इसमें Application
's ShutdownMode
) है, लेकिन आप किसी ईवेंट का उपयोग कर सकते हैं / किसी ईवेंट विधि (OnEventHappened) को ओवरराइड कर सकते हैं।
MainWindow के कोड-पीछे फ़ाइल में जाएं और जोड़ें:
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
App.Current.Shutdown();
}