TOC

This article is currently in the process of being translated into Hindi (~98% done).

A WPF application:

Working with App.xaml

App.xaml आपके application का घोषित प्रारंभिक बिंदु है। जब आप एक नया WPF एप्लिकेशन शुरू करते हैं, तो App.xaml.cs के नाम से कोड-बैक फ़ाइल सहित विज़ुअल स्टूडियो स्वचालित रूप से आपके लिए इसे बना देगा। वे जैसे एक विंडो के लिए करते हैं, जहां दो फाइलें आंशिक कक्षाएं हैं, जो आपको मार्कअप (XAML) और कोड-पीछे दोनों में काम करने की अनुमति देती हैं।

App.xaml.cs अनुप्रयोग वर्ग का विस्तार करता है, जो कि WPF Windows अनुप्रयोग में एक केंद्रीय वर्ग है। .NET निर्देश शुरू करने के लिए इस वर्ग में जाएगा और फिर वहां से वांछित विंडो या पेज शुरू करेगा। यह महत्वपूर्ण एप्लिकेशन ईवेंट की सदस्यता लेने का स्थान भी है, जैसे एप्लिकेशन स्टार्ट, अनहैंड अपवाद और इतने पर। उस बारे में बाद में।

App.xaml फ़ाइल की सबसे अधिक उपयोग की जाने वाली विशेषताओं में से एक वैश्विक संसाधनों को परिभाषित करना है जो किसी एप्लिकेशन से उपयोग और एक्सेस की जा सकती है, उदाहरण के लिए global styles। इस पर बाद में विस्तार से चर्चा की जाएगी।

App.xaml संरचना

एक नया एप्लिकेशन बनाते समय, स्वचालित रूप से जेनरेट किया गया App.xaml कुछ इस तरह दिखाई देगा:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

यहां ध्यान देने वाली मुख्य बात है, स्टार्टअपपुरी प्रॉपर्टी। यह वास्तव में वह हिस्सा है जो यह बताता है कि कौन सा विंडो या पेज शुरू होने पर आवेदन शुरू होता है। इस स्थिति में, MainWindow.xaml शुरू किया जाएगा, लेकिन यदि आप शुरुआती बिंदु के रूप में एक और विंडो का उपयोग करना चाहते हैं, तो आप बस इसे बदल सकते हैं।

कुछ स्थितियों में, आप पहली विंडो को कैसे और कब प्रदर्शित करते हैं, इस पर अधिक नियंत्रण चाहते हैं। उस स्थिति में, आप StartupUri प्रॉपर्टी और मूल्य को हटा सकते हैं और फिर कोड-बिहाइंड के बजाय यह सब कर सकते हैं। यह नीचे प्रदर्शित किया जाएगा।

App.xaml.cs structure

मिलान App.xaml.cs आम तौर पर एक नई परियोजना के लिए इस तरह दिखेगा:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

आप देखेंगे कि यह वर्ग कैसे Application classका विस्तार करता है, जिससे हमें application स्तर पर सामान करने की अनुमति मिलती है। उदाहरण के लिए, आप स्टार्टअप इवेंट की सदस्यता ले सकते हैं, जहाँ आप मैन्युअल रूप से अपनी शुरुआती विंडो बना सकते हैं।

यहाँ एक उदाहरण है:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
			 Startup="Application_Startup">
    <Application.Resources></Application.Resources>
</Application>

ध्यान दें कि स्टार्टअप इवेंट की सदस्यता के साथ स्टार्टअपअप्री को कैसे बदल दिया गया है (XAML के माध्यम से घटनाओं की सदस्यता एक अन्य अध्याय में बताई गई है)। कोड-पीछे में, आप इस तरह की घटना का उपयोग कर सकते हैं:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			// Create the startup window
			MainWindow wnd = new MainWindow();
			// Do stuff here, e.g. to the window
			wnd.Title = "Something else";
			// Show the window
			wnd.Show();
		}
	}
}

इस उदाहरण में एक अच्छी बात यह है कि केवल स्टार्टअप संपत्ति का उपयोग करने की तुलना में, यह है कि हम इसे दिखाने से पहले स्टार्टअप विंडो में हेरफेर करते हैं। इसमें, हम इसका शीर्षक बदलते हैं, जो बहुत उपयोगी नहीं है, लेकिन आप ईवेंट की सदस्यता भी ले सकते हैं या शायद एक स्प्लैश स्क्रीन दिखा सकते हैं। जब आपके पास सभी नियंत्रण होते हैं, तो कई संभावनाएं होती हैं। हम इस ट्यूटोरियल के अगले लेखों में उनमें से कई में गहराई से देखेंगे।