TOC

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

A WPF application:

The Window

WPF एप्लिकेशन बनाते समय, पहली चीज जो आपको मिलेगी वह है Window Class। यह एक Window की जड़ के रूप में कार्य करता है और आपको standard brder, title bar और maximize,minimize और close बटन प्रदान करता है।एक WPF विंडो XAML (.xaml) फ़ाइल का एक संयोजन है, जहां <Window> element रूट, और एक CodeBehind (.cs) फ़ाइल है। यदि आप विज़ुअल स्टूडियो (एक्सप्रेस) का उपयोग कर रहे हैं और आप एक नया WPF एप्लिकेशन बनाते हैं, तो यह आपके लिए एक डिफ़ॉल्ट विंडो बनाएगा, जो इस तरह दिखाई देगा:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>

    </Grid>
</Window>

x:class attribute XAML फ़ाइल को बताती है कि कौन सी class का उपयोग करना है, इस मामले में Window1 है, जिसे विजुअल स्टूडियो ने हमारे लिए भी बनाया है। आप इसे VS में प्रोजेक्ट ट्री में,XAMLफ़ाइल के एक child के नोड के रूप में पाएंगे। डिफ़ॉल्ट रूप से, यह कुछ इस तरह दिखता है:

using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
}

जैसा कि आप देख सकते हैं, Window1 वर्ग को आंशिक रूप में निश्चित किया गया है, क्योंकि यह आपको पूर्ण विंडो देने के लिए रनटाइम में आपकी XAML फ़ाइल के साथ जोड़ा जा रहा है। यह वास्तव में है जो InitializeComponent () को कॉल करता है, यही कारण है कि इसे पूर्ण कामकाज विंडो को ऊपर और चलाने के लिए आवश्यक है।

यदि हम XAML फ़ाइल पर वापस जाते हैं, तो आप शीर्षक जैसे विंडो element पर कुछ अन्य दिलचस्प विशेषताओं को देखेंगे, जो window के title (शीर्षक बार में दिखाए गए) के साथ-साथ शुरुआती चौड़ाई और ऊंचाई को परिभाषित करता है। namespace की कुछ परिभाषाएँ भी हैं, जिनके बारे में हम XAML के अध्यायों में बात करेंगे।

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

Important Window properties

WPF विंडो क्लास में दिलचस्प विशेषताओं का एक समूह है जिसे आप अपने एप्लिकेशन विंडो के रूप और व्यवहार को नियंत्रित करने के लिए सेट कर सकते हैं। यहाँ सबसे दिलचस्प चीजों की एक छोटी सूची है:

Icon - आपको विंडो के आइकन को परिभाषित करने की अनुमति देता है, जिसे आमतौर पर ऊपरी बाएं कोने में विंडो शीर्षक के बाईं ओर दिखाया जाता है।

ResizeMode - यह नियंत्रित करता है कि एंड-यूज़र आपकी विंडो का आकार बदल सकता है या नहीं। डिफ़ॉल्ट CanResize है, जो उपयोगकर्ता को किसी भी अन्य विंडो की तरह विंडो को आकार देने की अनुमति देता है, या तो अधिकतम / न्यूनतम बटन का उपयोग करके या किनारों में से एक को खींचकर। CanMinimize उपयोगकर्ता को विंडो को छोटा करने की अनुमति देगा, लेकिन इसे अधिकतम करने या इसे बड़ा या छोटा खींचने के लिए नहीं। NoResize सबसे सख्त एक है, जहां अधिकतम और न्यूनतम बटन हटा दिए जाते हैं और window को बड़ा या छोटा नहीं किया जा सकता है।

ShowInTaskbar - डिफ़ॉल्ट सत्य है, लेकिन यदि आप इसे गलत पर सेट करते हैं, तो आपकी विंडो को विंडोज टास्कबार में नहीं दिखाया जाएगा। गैर-प्राथमिक windows के लिए या उन अनुप्रयोगों के लिए उपयोगी है जिन्हें ट्रे में कम से कम होना चाहिए।

SizeToContent - तय करता है कि विंडो को अपनी सामग्री को स्वचालित रूप से फिट करने के लिए आकार बदलना चाहिए या नहीं। डिफ़ॉल्ट मैन्युअल है, जिसका अर्थ है कि विंडो स्वचालित रूप से आकार नहीं देती है। अन्य विकल्प चौड़ाई, ऊंचाई और चौड़ाईहाइट हैं, और उनमें से प्रत्येक स्वचालित रूप से window के आकार को क्षैतिज, लंबवत या दोनों में समायोजित करेगा।

Topmost - डिफ़ॉल्ट गलत है, लेकिन यदि यह सच है, तो आपकी विंडो अन्य विंडो के शीर्ष पर रहेगी, जिसे न्यूनतम किया जाएगा। केवल विशेष स्थितियों के लिए उपयोगी।

WindowStartupLocation - आपकी विंडो की प्रारंभिक स्थिति को नियंत्रित करता है। डिफ़ॉल्ट मैनुअल है, जिसका अर्थ है कि विंडो शुरू में आपकी विंडो के शीर्ष और बाएं गुणों के अनुसार स्थित होगी। अन्य विकल्प हैं CenterOwner, जो window को उसके owner window के केंद्र में और केंद्रस्क्रीन को स्थिति देगा, जो स्क्रीन के केंद्र में window को स्थिति देगा।

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

हालांकि, बहुत सारी अन्य attributes हैं, इसलिए अपने लिए एक नज़र डालें और फिर अगले अध्याय पर जाएँ।