Your SlideShare is downloading. ×
0
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
3. XAML & WPF - WPF Controls
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

3. XAML & WPF - WPF Controls

1,154

Published on

WPF Controls …

WPF Controls
Telerik Software Academy:
http://academy.telerik.com/school-academy/meetings/details/2012/02/02/desktop-applications-csharp-wpf
The website and all video materials are in Bulgarian.

WPF Controls
Text controls
Buttons
List controls
GroupBox and Expander
Menus
Toolbars
Other controls
Slider and Scroll controls
ProgressBar
ToolTip
Custom User Controls

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,154
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
136
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WPF Controls Basic WPF ControlsDoncho MinkovTechnical Trainerhttp://www.minkov.itTelerik Software Academyacademy.telerik.com
  • 2. Table of Contents1. WPF Controls2. Text controls3. Buttons4. List controls5. GroupBox and Expander6. Menus7. Toolbars 2
  • 3. Table of Contents8. Other controls  Slider and Scroll controls  ProgressBar  ToolTip  Custom User Controls 3
  • 4. WPF Controls
  • 5. WPF Control WPF controls are typicallynot directly responsible for their own appearance  The are all about behavior  They defer to templates to provide their visuals 5
  • 6. WPF Controls (2) Controls may use commands to represent supported operations Controls offer properties to provide a means of modifying either behavior Controls raise events when something important happens WPF provides a range of built-in controls  Most of these correspond to standard Windows control types 6
  • 7. Text Controls
  • 8. Label The purpose of the Label control is to provide a place to put a caption with an access key How does the Label know to which control it should redirect its access key?  Target property, indicating the intended target of the access key In the absence of this property, the Label control does nothing useful 8
  • 9. LabelLive Demo
  • 10. TextBox
  • 11. TextBox TextBox is control for editing and displaying text  By setting AcceptsReturn to true, it can edit multiple lines <TextBox Margin="5" VerticalAlignment="Center" Text="Single line textbox" /> <TextBox AcceptsReturn="True" Margin="5" Height="50 VerticalScrollBarVisibility="Visible" VerticalAlignment="Center" Text="Multiline textbox" /> <!--The result is--> 11
  • 12. RichTextBox RichTextBox supports all of the commands defined by the EditingCommands class Recognize the RTF format  Paste formatted text from Internet Explorer and Word Both TextBox and RichTextBox offer built-in spellchecking  SpellCheck.IsEnabled attached property 12
  • 13. RichTextBox Live Demo
  • 14. Buttons
  • 15. Buttons Buttons are controls that a user can click An XAML attribute specifies the handler for the Click event ButtonsWindow.xaml <Button Click="ButtonClicked">Click</Button> ButtonsWindow.xaml.cs void ButtonClicked(object sender, RoutedEventArgs e) { MessageBox.Show("Button was clicked"); } Buttons derive from the common ButtonBase base class 15
  • 16. ToggleButton Holds its state when it is clicked  IsChecked property IsThreeState property  Gives IsChecked three possible values true, false, or null ToggleButton defines a separate event for each value of IsChecked  Checked for true  Unchecked for false  Indeterminate for null 16
  • 17. ToggleButton Live Demo
  • 18. CheckButton and RadioButton They derive from ButtonBase indirectly via the ToggleButton class IsChecked property, indicating whether the user has checked the button CheckBox is nothing more than a ToggleButton with a different appearance Radio buttons are normally used in groups in which only one button may be selected at a time 18
  • 19. RadioButton - Example Grouping radio buttons by name <StackPanel> <RadioButton GroupName="Fuel" Margin="3">Petrol</RadioButton> <RadioButton GroupName="Fuel" Margin="3">Diesel</RadioButton> <RadioButton GroupName="Induction" Margin="3">Unforced</RadioButton> <RadioButton GroupName="Induction" Margin="3">Mechanical supercharger</RadioButton> <RadioButton GroupName="Induction" Margin="3">Turbocharger</RadioButton> </StackPanel> 19
  • 20. RadioButton Live Demo
  • 21. List Controls
  • 22. ComboBox Enables users to select one item from a list ComboBox defines two events  DropDownOpened  DropDownClosed ComboBox can contain complex items 22
  • 23. ComboBox Live Demo
  • 24. ListView The ListView control derives from ListBox It uses the Extended SelectionMode by default View property  Enable customize the view in a richer way  The View property is of type ViewBase, an abstract class 24
  • 25. GridView GridView class  Has a Columns content property  GridViewColumn objects, as well as other properties to control the behavior of the column headers Columns can be reordered by dragging and dropping them in the built application Columns can be resized Columns can automatically resize to "just fit" 25
  • 26. ListView and GridView Live Demo
  • 27. TreeView
  • 28. TreeView Presents a hierarchical view  Data with nodes that can be expanded and collapsed Important events:  Expanded  Collapsed  Selected  Unselected 28
  • 29. TreeView Live Demo
  • 30. GroupBox and Expander
  • 31. GroupBox and Expander Both provide a container for arbitrary content and a place for a header on top  Expander can be expanded and collapsed  GroupBox always shows its content Both controls derive from HeaderedContentControl  We can place whatever content we like directly inside the control 31
  • 32. GroupBox and Expander Live Demo
  • 33. Menus
  • 34. Menu Menu simply stacks its items horizontally <Menu Height="23" VerticalAlignment="Top" > <MenuItem Header="_File"> <MenuItem Header="_New..."/> <MenuItem Header="_Open..."/> <Separator/> <MenuItem Header="Sen_d To"> <MenuItem Header="Mail Recipient"/> <MenuItem Header="My Documents"/> </MenuItem> </MenuItem> <!--(the example continues)--> 34
  • 35. Menu (2) <MenuItem Header="_Edit"> … </MenuItem> <MenuItem Header="_View"> … </MenuItem></Menu> <!-- The result is --> 35
  • 36. MenuItem MenuItem is a headered items control  The Header is actually the main object MenuItem contains many properties for customizing  Icon  IsCheckable  InputGestureText Can handle events or assign a command to MenuItem’s Command property 36
  • 37. MenusLive Demo
  • 38. ContextMenu Works just like Menu  It’s a simple container designed to hold MenuItems and Separators Must attach it to a control via ContextMenu property When a user right-clicks on the control the context menu is displayed <ListBox> <ListBox.ContextMenu> <ContextMenu> … </ContextMenu> </ListBox.ContextMenu> … </ListBox> 38
  • 39. Toolbars
  • 40. Toolbars Toolbars provide faster access for frequently used operations WPF supports toolbars through the ToolBarTray and ToolBar controls StatusBar behaves just like Menu  It’s typically used along the bottom of a Window 40
  • 41. Toolbars Live Demo
  • 42. Other Controls
  • 43. Slider and Scroll Controls Allow a value to be selected from a range  They show a track, indicating the range and a draggable "thumb" The ScrollBar control is commonly used in conjunction with some scrolling viewable area Control the size of a scroll bar’s thumb with the ViewportSize property 43
  • 44. Slider and Scroll Controls (2) Slider control is used to adjust values Slider and ScrollBar have an Orientation property They both derive from a common base class, RangeBase  Provides Minimum and Maximum, SmallChange and LargeChange properties 44
  • 45. ProgressBar Helps user realize that progress is indeed being made ProgressBar has a default Minimum of 0 and a default Maximum of 100 IsIndeterminate property  True - ProgressBar shows a generic animation Orientation property  Horizontal by default 45
  • 46. ToolTip Allows a floating label to be displayed above some part of the user interface To associate a ToolTip with its target element set it as the ToolTip property of its target <TextBox Width="147" Height="25"> <TextBox.ToolTip> <ToolTip Content="Type something here" /> </TextBox.ToolTip> <!--The result is--> </TextBox> 46
  • 47. Creating Custom User Controls
  • 48. How To Make Custom User Control? From the Solution Explorer click Add –> User Control After that it is like you are making a Window After you finish the creation of the UserControl build the project Then you have your UserControl in the Toolbox menu
  • 49. Adding Properties to Custom User Control To add a Property in the UserControl you need a DependencyProperty, e.g. public static readonly DependencyProperty SourceProperty; static ImageButton() { SourceProperty = DependencyProperty.Register( "Source", typeof(ImageSource), typeof(ImageButton))); } public ImageSource Source { get { return (ImageSource)GetValue(SourceProperty); } set { SetValue(SourceProperty, value); } } 49
  • 50. Adding Properties to Custom User Control (2) To make the "Source" property work we have to use binding in the Xaml code  For the binding we need to set the x:Name of the UserControl <Image Source="{Binding ElementName= ImageButtonUserControl, Path=ImageSource}"/> Now in our Window we can set an image in our custom ImageButton control <my:ImageButton ImageSource="Panda.png"/> 50
  • 51. Custom User Controls Live Demo
  • 52. WPF Controls курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  • 53. Exercises1. Write a program that show the simple window with one TextBox. Add text to the TextBox. If you select some text in the TextBox – display the current selection information.2. Write a program with a Button and a Label. The label should show the number of clicks on the button.3. Write a program that visualize which one of the items collection are checked.4. Write a program that shows a ComboBox with various elements added to its Items. For example – add text, ellipse and picture. 53
  • 54. Exercises (2)5. Write a program that shows ListView with columns that contain controls such as checkboxes and text boxes. The name of the columns are ID, Enabled, Value.6. Write a text editing user control that is like simple WordPad. It should have at least a TextWrap property, Scrollbar, Buttons for Save and Load, ComboBoxes for choosing FontFamily and FontSize. 54
  • 55. Exercises (3)7. Implement a specialized editor of text document libraries. A library is a number of text documents, organized as a tree in folders. In a folder there can be documents and other folders (as in Windows). Every document is some text with formatting. The editor must be able to create libraries, to open/save libraries, to read/write libraries from/to XML files. When a library is open the editor can edit the documents inside (changing the text and the formatting) and can create/delete/rename folders and documents. Use a TreeView for the folder tree and RichTextBox for the active document. 55
  • 56. Exercises (4)The editor should have a main menu, 2 contextmenus (for the folder tree and for the activedocument area), 3 tool bars (to open/save a library,to facilitate working with the folder tree and one forthe active document), a status bar and appropriateshortcuts for the most frequently used 56
  • 57. Free Trainings @ Telerik Academy Desktop Applications with C# and WPF  academy.telerik.com/ Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com

×