ამ ტუტორიალში, შევეცდები ოდნავ მაინც შევეხო და განვიხილო 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