Nov 30, 2013

WPF - 1 (კლასები და სახელსივრცეები)


ამ ტუტორიალში, შევეცდები ოდნავ მაინც შევეხო და განვიხილო WPF ის ძირითადი სახელსივრცეები და კლასები, რომლები გამოიყენება მთელი ამ ტექნოლოგიის ფუქნციონირებისთვისა და მარტივი და მოხერხებული ტექნიკის გამოენებისთვის.


პირველ რიგში, საჭიროა ერთი გაუგებრობის აღმოფხვრა, რადგან შეიძლება ამან ხელი შეგიშალოთ Windows Forms და WPFის კლასების გარჩევაში. საზოგადოდ, Windows Forms ის კლასები მოთავსებულია System.Windows.Forms სახელსივრცეში, როცა WPF ის კლასები მოთავსებულები არიან System.Windows სახელსივრცეში. მაგალითისთვის რომ ავიღოთ TextBox კლასი, ის მოთავსებულია Windows Forms ებისათვის System.Windows.Forms.TextBox სახელსივრცეში, ხოლო WPF ისთვის მოთავსებულია System.Windows.Controls.TextBox ში. ქვემოთ მოცემულია WPF ის ძირითადი სახელსივრცეები და მათი დანიშნულება

System.Windows
ეს არის WPF ის ძირითადი სახელსივრცე. აქ შეიძლება ისეთი კლასების პოვნა, როგორიცაა Applocation, DependancyObject, DependencyProperty და ყველა WPF ის ელემენტის საბაზისო კლასი FrameworkElement.
System.Windows.Annotations
ეს კლასი არის მხოლოდ მომხმარებლის მიერ შექმნილი ანოტაციებისთვისა და ჩანაწერებისათვის აპლიკაციის მონაცემებზე, რომელიც მოთავსებულია განცალკევებით დოკუმენტში. System.Windows.Annotations.Storage კლასი კი შეიცავს კლასებს ანოტაციების მოსათავსებლად.
System.Windows.Automation
სახელსივრცე, რომლის დახმარებითაც ხდება WPF აპლიკაციის ავტომატიზაცია. ეს სახელსივრცე თავის მხრივ შეიცავს System.Windows.Automation.Peers სახელსივრცეს, რომელიც WPF ელემენტების ავტომატიზაციისთვის გამოიყენება, ხოლო თუ საჭირო გახდა მომხმარებლის მიერ ავტომატიზაციის შექმნა, მაშინ შეგიძლიათ გამოიყენოთ System.Windows.Automation.Provider სახელსივრცე.
System.Windows.Baml2006
ეს სახელსივრცე ახალია WPF ისთვის და შემოსულია .NET 4 თან ერთად და შეიცავს Baml2006Reader კლასს, რომელიც გამოიყენება ორობით მონიშვნის წასაკითხად, ხოლო თვითონ ქმნის XAML ს.
System.Windows.Controls
ამ სახელსივრცეში შესაძლებელია ყველა WPF კონტროლის პოვნა. ხოლო ქვე სახელსივრცეში System.Windows.Controls.Primitives შესაძლებელია იმ კლასების პოვნა, რომელიც გამოიყენება კომპლექსური კონტროლების შექმნისთვის.
System.Windows.Converters
აქ მოთავსებულ კლასებს შეუძლიათ მონაცემთა კონვერტირება. მაგრამ ყველა კონვერტორი  არ არის ამ სახელსივრცეში. საბაზისო კონვერტორები არის System.Windows სახელსივრცეში.
System.Windows.Data
სახელსივრცე, რომელიც გამოიყენება მონაცემთა გადაბმისათვის. უმნიშვნელოვანესი კლასია Binding, რომელიც შესაბამისობას ამყარებს WPF სამიზნე ელემენტსა და CLR წყაროს შორის.
System.Windows.Documents
დოკუმენტებთან მუშაობისას ამ სახელსივრცეში შესაძლებელია გამოსადეგი კლასების გამოყენება. System.Windows.Documents.Serializtion კლასის გამოყენებით შესაძლებელია დოკუმენტების დისკზე ჩაწერაც.
System.Windows.Ink
თანამედროვე მოწყობილობების გათვალისწინებით, ტაბლეტები და სმარტფონები საკმაოდ გამოყენებადია. ამ სახელსივრცის გამოყენებით ხდება მომხმარებლის მოძრაობების ინიციალიზება.
System.Windows.Input
შედის კლასები ბრძანებების მოგვარებისთვის, კლავიატურიდან ინფორმაციის აღსაქმელად, სტილუსთან სამუშაოდ და ასე შემდეგ.
System.Windows.Interop
Win32 ისა და WPF ის ინტეგრაციისთვის შესაძლებელია კლასების გამოყენება.
System.Windows.Markup
XAML ის მონიშვნის კოდის დამხმარე კლასები
System.Windows.Media
მოთავსებულია კლასები ვიდეო, აუდიო და სურათებთან სამუშაოდ.
System.Windows.Navigation
ფანჯრებს შორის სანავიგაციოთ განკუთვნილი კლასების სახლესივრცე.
System.Windows.Resources
რესურსებთან სამუშაო კლასები
System.Windows.Shapes
მომხმარებლის ინტერფეისთან მომუშავე ძირითადი კლასების „სათასო“
System.Windows.Shapes
WPF ის ელემენტები იყენებენ ერთ ნაკადს. ამ სახელსივრცის გამოყენებით შესაძლებელია ელემენტებმა გამოიყენონ რამდენიმე ნაკადი ერთდროულად.
 
WPF შეიცავს ათასობით კლასს ღრმა იერარქიით. ქვემოთ მოცემულია მცირეოდენის ცხრილური განხილვა.

DispatcherObject
არის საბაზისო აბსტრაქტული კლასი იმ კლასებისთვის, რომელიც იყენებენ ერთ ნაკადს.
Application
WPF აპლიკაციის შექმნისას ავტომატურად იქმნება ამ კლასის ობიექტი, რომელის გავლითაც შესაძლებელია აპლიკაციის ფანჯრებზე, რესურსებზე და თვისებებზე წვდომა.
DependencyObject
არის საბაზო კლასი ყველა იმ კლასისთვის, რომელსაც შეუძლია დამოკიდებულების თვისების გამოყენება
Visual
ვიზუალური ელემენტების საბაზო კლასი. კლასს შეუძლია ასევე ტრანსფორმირება და ტესტირება
UIElement
საბაზო კლასი იმ ელემენტებისთვის, რომლებსაც სჭირდებათ საბაზისო პრეზენტაციის შესაძლებლობა. ეს კლასი გამარაგებთ Tunneling და Bubbling მოვლენებით მაუსის მოძრაობისთვის.
FrameworkElement
არის UIElement ის მემკვიდრე, რომელიც იმპლემენტაციას უკეთებს წინაპარი კლასის მეთოდებს
Shape
არის საბაზო კლასი ფორმის ელემენტებისათვის, როგორებიცაა Line, Ellipse, Polygon, Rectangle
Control
მემკვიდრეა FrameworkElement ის მემკვიდრე, ხოლო თვითონ არის საბაზო კლასი ყველა მომხმარებელთან იტერაქტიული ელემენტისა.
ContentControl
არის წინაპარი კლასი, რომელიც შეიცავს ერთ კონტენტს - Label, Button. სტანდარტული სტილი ლიმიტირებულია, ხოლო ფუნქციონალურობის გაზრდა შესაძლებელია Template ის გამოყენებით
ItemControl
არის საბაზისო კლასი ყველა იმ კლასისა, რომელიც შეიცავს წევრების კოლექციას.
Panel
მემკვიდრეა FrameworUIElement ისა და არის აბსტრაქტული საბაზო კლასი ყველა პანელისთვის.


No comments:

Post a Comment