Dec 5, 2013

WPF - 5 (კონტროლები)


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

Ø  Simple
Ø  Content
Ø  Headered content
Ø  Items
Ø  Headered items
Ø  Decoration
ამ ნაწილში განვიხილავ პირველ ორ ნაწილს, ხოლო შემდეგში დანარჩენს. დავიწყოთ Simple კონტროლის ჯგუფით, რომელშიც ის კონტროლები შედიან, რომელთაც არ გააჩნიათ Content თვისება. ღილაკის კლასში თქვენ ნახეთ, რომ მას შეუძლია მიიღოს ნებისმიერი ფორმა, ან ჩაიშენოს თავის თავში კიდევ სხვა კონტროლები. შემდეგი რამ არ არის შესაძლებელი მარტივი კონტროლებისთვის. ქვემოთ გავაკეთე ცხრილი, სადაც მოყვანილია მარტივი კონტროლების მაგალითები და მათი მოკლე აღწერა, რომელიც საკმარისი უნდა იყოს ამ ეტაპზე.
Slider
ამ კონტროლის დახმარებით შესაძლებელია ScrollBar, ProgressBar, Slider ის გაკეთება, რომლებიც RangeBsae ის მემკვიდრეები არიან, და მთავარი აზრი ის არის, რომ მაუსის ან თითის მოძრაობით შესაძლებელია ამ კონტროლის (რიცხვითი) მნიშვნელობის შეცვლა რაღაც მოცემულ დიაპაზონში.
ScrollBar
Slider ის მსგავსად მომხმარებელს შეუძლია მაუსის მარტივი მოძრაობით გაუმკლავდეს ისეთ სიტუაციას, როდესაც დოკუმენტი მოცემულ ზომებში ბოლომდე ვერ ეტევა. კონტროლის გამოყენებით კი შესაძლებელია დოკუმენტის დამალული ნაწილების ჩვენება. თუ დოკუმენტი ძალიან დიდია, მაშინ ეს კონტროლი, სტანდარტულ შემთხვევაში, ავტომატურად ჩნდება.
ProgeressBar
ამ კონტროლით შესაძლებელია ოპერაციის პროგრესის ჩვენება. მაგალითად როცა რაიმე იტვირთება.
PasswordBox
კონტროლი გამოიყენება პაროლის შესაყვანად და აქვს სპეციალური თვისებები შემოსული პაროლისთვის. მაგალითად, PasswordChar იმ სიმბოლოს განსასაზღვრად, რომელიც უნდა გამოჩნდეს მომხმარებლის მიერ შემოყვანილი პაროლის ნაცვლად (ხშირად ეს ვარსკვლავები ან წერტილებია), ან Password, რომ ვნახოთ პაროლი, რომელიც შემოიყვანა მომხმარებელმა. PasswordChanged მოვლენა გააქტიურდება მაშინ, როდესაც პაროლი შეიცვლება.
Calendar
ეს კონტროლი ახალია და შემოვიდა .NET 4 თან ერთად. აჩვენებს თვეს, წელს და შესაძლებელია თარიღის(ების) არჩევა.
DatePicker
არის კონტროლი, რომელიც ხსნის ლოკალურ კალენდარს, იმისთვის, რომ მომხმარებელმა აირჩიოს სასურველი თარიღი.
TextBox
არაფორმატირებული ტექსტის საჩვენებლად გამოყენებადი კონტროლი
RichTextBox
შესაძლებელია ტექსტის ჩვენება FlowDocument კლასის დახმარებით.

Content კონტროლები
Content კონტროლებს, სახელიდან გამომდინარე, გააჩნია content თვისება, რომლის დახმარებითაც შესაძლებელია content ის დამატება კონტროლში. Button კლასი არის ContentControl ის მემკვიდრე და სწორედ ამიტომ არის შესაძლებელი მასში შიგთავსის დამატება. წინა მაგალითებში თქვენ ნახეთ StackPanel და Grid ის ღილაკში მოთავსების მაგალითიც.
Button
კონტროლის წინაპარი კლასია ButtonBase, რომელსაც Button კლასთან ერთად ჰყავს ReapeatButton, ToggleButton, მემკვიდრეები. ყველა ზემოთ ჩამოთვლილი რეაგირებს Click მოვლენაზე. ToggleButton არის საბაზო კლასი RadioButton და CheckBox ისთვის, რომლებსაც ორი მდგომარეობა გააჩნიათ - ჩართული და გამორთული ან, შესაბამისად, მონიშნული და ცარიელი. CheckBox ის მონიშვნა და გაწმენდა შესაძლებელია მომხმარებლის მიერ, მაგრამ RadioButton ის გაწმენდა უკვე პროგრამული მანიპულატორის საქმეა.
Frame
კონტროლი გამოიყენება ნავიგაციისთვის, რომლის ძირითადი მეთოდია Navigate(), და ამით ხდება გვერდებს შორის ნავიგაცია.
Label
კლასი წარმოადგენს კონტროლისთვის უბრალო ტექსტს.
ListBoxItem
არის ListBox ში მოთავსებული წევრი.
StatusBarItem
StatusBar კონტროლის შიდა წევრი
ScrollViewer
არის კონტექსტური კონტროლი, რომელიც შეიცავს ScrollBar ებს. ამ  კონტროლში შესაძლებელია ნებისმიერი ინფორმაციის მოთავსება, ხოლო ScrollBar ები გამოჩნდებიან საჭიროების შემთხვევაში.
ToolTip
კლასი აკეთებს pop-up ფანჯარას, რომელიც დაწვრილებით ინფორმაციას იძლევა კონტროლისთვის. მაგალითისთვის შეიძლება აიღოთ: სამუშაო მაგიდაზე მოთავსებულ ფაილზე თუ კურსორს მიიტანთ და გააჩერებთ, მაშინ pop-up ფანჯარა გაჩნდება და დაინახავთ მეტ ინფორმაციას ამ ფაილის-კონტროლის შესახებ.
NavigateionWindow
კლასი არის Window კლასის მემკვიდრე და არის კონტექსტური ნავიგატორი.
Window
კლასი საშუალებას გვაძლევს შევქმნათ dialog Box ები და ფანჯრები. სტანდარტული სახე არის ფანჯარა, რომელსაც გააჩნია მაქსიმიზაცია/მინიმიზაცია/დახურვა ღილაკები და სისტემური მენიუ. dialogBox ის და ფანჯრის საჩვენებლად ვიყენებთ შესაბამისად შემდეგ მეთოდებს - ShowDialog() და Show()

Headered Content Controls
Content კონტროლები Header ით მემკვიდრეობენ HeaderedContentControl ისაგან, რომლის წინაპარიცაა ContentControl კლასი. HeaderedContentControl ებს გააჩნიათ თვისება Header, რომლითაც შესაძლებელია კონტექსტის განსაზღვრა, მეორეს მხრივ კი შესაძლებელია მათი სრული დიზაინის შექმნა HeaderTemplate ის გამოყენებით. ქვემოთ მოცემულია ის კონტროლები, რომელთათვის საბაზო კლასი არის HeaderedContentControl კლასი.
Expander
ამ კლასის გამოყენებით შესაძლებელია უფრო განვითარებული dialog box ის შექმნა, რომელიც სტანდარტულად არ აჩვენებს ყველა ინფორმაციას, მაგრამ შესაძლებელია მომხმარებლის მიერ გაფართოვდეს ინფორმაციის თვალსაწიერი. გაუფართოებელ ფორმაში კი ჩანს მხოლოდ სათაურის კონტექსტი(herader).
TabItem
კონტროლი არის TabControl ის წევრი. ამ კლასის Header თვისება განსაზღვრავს თუ რა უნდა გამოჩნდეს TabControl ში მოთავსებული ტაბების სათაურად.
GroupBox
ეს კონტროლი საშუალებას გვაძლევს მასში ჩავსვათ სხვა კონტროლები, და თან ეს კონტროლები იყვნენ შემოსაზღვრულები და დასათაურებულები.

ქვემოთ არის მარტივი Expander ის მაგალით მოცემული. მას გააჩნია Header თვისება, რომელიც არის, ჩვენს შემთხვევაში, „დამაჭირე გასაფართოებლად“. როდესაც კონტროლი გაფართოვდება, მაშინ გამოჩნდება Content თვისებაში მოთავსებული ტექსტური ცვლად, თუ არსებობოს.






Item Controls
ItemControl კლასი შეიცავს წევრების სიას, რომელზეც წვდომა შესაძლებელია განხორციელდეს Items თვისების გამოყენებით. ქვემოთ მოცემულია კლასები, რომლებიც მემკვიდრეობენ ItemControl კლასიდან.
Menu, ContextMenu
მემკვიდრეები არიან აბსტრაქტული საბაზო კლასისა MenuBase. შესაძლებელია მომხმარებელს შესთავაზოთ მენიუ MenuItem ელემენტის დამატებით Item სიაში
StatusBar
ჩვეულებრივ მოთავსებულია აპლიკაციის ქვედა ნაწილში და მომხმარებელს აჩვენებს აპლიკაციის სტატუსს. StatusBarItem ის მოთავსება შესაძლებელია StatusBar ის წევრების სიაში
ListBox, ComboBox, TabControl
მემკვიდრეობენ ერთი და იმავე აბსტრაქტული კლასისაგან Selector. საბაზო კლასი საშუალებას იძლევა ავირჩიოთ ამ კონტროლების წევრები.
Treeview
წევრების იერარქიულად საჩვენებლად გამოიყენება Treeview კონტროლი.
DataGrid
არის გარეგნულად დახვეწილი Grid, სპეციალურად მონაცემების საჩვენებლად. ეს კონტროლი ახალია და შემოვიდა .NET 4 თან ერთად

Headered Items Controls
HeaderedItemsControl არის იმ კონტროლების საბაზო კლასი, რომელსაც გააჩნიათ წევრები და ამავე დროს ეს წევრები საშუალებას იძლევიან, რომ ჰქონდეთ სათაური. ქვემოთ მოცემულია ეს კონტროლები.
MenuItem
კლასები Menu, ContextMenu შეიცავენ წევრებს, რომლებიც არის MenuItem ტიპის. მენიუს წევრები შეიძლება პირდაპირ დაუკავშირდნენ ბრძანებებს, რადგან MenuItem კლასი იმპლემენტაციას უკეთებს IcommandSource ინტერფეისს.
TreeViewItem
არის Treeview კონტროლის წევრის ტიპი
ToolBar
არის კონტროლი, რომელიც თავის მხრივ შეიცავს კონტროლების ჯგუფს. ჩვეულებრივ Button და Separator ელემენტებს. ToolBar ის მოთავსება შესაძლებელია ToolBarTray ს შიგნით

Decoration  

დეკორაციები ასოცირდებიან საზღვრებთან ViewBox თან და სიებთან. 

No comments:

Post a Comment