SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
Mohammad Shaker
mohammadshaker.com
WPF Starter Course
@ZGTRShaker
2011, 2012, 2013, 2014
WPF Showcase
L01 – Layouts, Controls, Styles and
Templates
WPF
WPF
Windows Presentation Foundation
WPF
with Expression Blend
WPF References
WPF
Automata
Project,
withVB.NET
My 3rd Year Projects with.NET!
WPF
RFIDSystem
withC#
Rich Content
Stand Alone Apps
Browser-Hosted Apps
WPF Overview
A lot of these WPF slides are ported from
http://www.blackwasp.co.uk/
WPF Overview
WPF Overview
WPF Overview
WPF Overview
WPF Overview
Layouts
Grid
<Window x:Class="GridDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Grid Demo"
Height="200"
Width="250">
<Grid>
<Button Content="Click Me!"/>
</Grid>
</Window>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Content="Click Me!"/>
</Grid>
UniformGrid
<Window x:Class="UniformGridDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="UniformGrid Demo"
Height="200"
Width="250">
<UniformGrid>
<Button Content="Button 1"/>
<Button Content="Button 2"/>
<Button Content="Button 3"/>
<Button Content="Button 4"/>
</UniformGrid>
</Window>
DockPanel
WrapPanel
<Window x:Class="WrapPanelDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WrapPanel Demo"
Height="200"
Width="250">
<WrapPanel Margin="10" Background="Lavender">
<Button Content="Button 1" Width="100" Height="25" Margin="3"/>
<Button Content="Button 2" Width="100" Height="25" Margin="3"/>
<Button Content="Button 3" Width="100" Height="25" Margin="3"/>
<Button Content="Button 4" Width="100" Height="25" Margin="3"/>
</WrapPanel>
</Window>
Resized
Original Size
StackPanel
<Window x:Class="StackPanelDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="StackPanel Demo"
Height="200"
Width="250">
<StackPanel Background="Orange">
<Label Content="First Name" />
<TextBox x:Name="FirstName"/>
<Label Content="Last Name"/>
<TextBox x:Name="LastName"/>
<Button Content="OK"/>
<Button Content="Cancel"/>
</StackPanel>
</Window>
<StackPanel Background="Orange">
<Label Content="First Name" />
<TextBox x:Name="FirstName"/>
<Label Content="Last Name"/>
<TextBox x:Name="LastName"/>
<StackPanel Orientation="Horizontal" Background="Yellow">
<Button Content="OK"/>
<Button Content="Cancel"/>
</StackPanel>
</StackPanel>
StackPanel
ViewBox – Change Elements Sizes When Resized
<Viewbox>
<DockPanel Width="250" Height="200">
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Background="LightBlue">
<Button Content="01" Margin="1"/>
<Button Content="02" Margin="1"/>
<Button Content="03" Margin="1 1 10 1"/>
<Button Content="04" Margin="1"/>
<Button Content="05" Margin="1"/>
<Button Content="06" Margin="1"/>
</StackPanel>
<StackPanel Orientation="Horizontal"
DockPanel.Dock="Bottom"
Background="Lightblue"
Height="25">
<TextBlock VerticalAlignment="Center">Processing</TextBlock>
<ProgressBar Value="75" Width="100" Margin="4"/>
</StackPanel>
<Grid>
<TextBlock>Content area</TextBlock>
</Grid>
</DockPanel>
</Viewbox>
Resized
Original Size
Border
Border
• <Border Margin="5" Padding="5" Background="LightYellow"
• BorderBrush="SteelBlue" BorderThickness="3,5,3,5" CornerRadius="3"
• VerticalAlignment="Top">
– <StackPanel>
• <Button Margin="3">One</Button>
• <Button Margin="3">Two</Button>
• <Button Margin="3">Three</Button>
– </StackPanel>
• </Border>
Controls
TextBox and Label
<Window x:Class="TextBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TextBox Demo"
Height="200"
Width="250">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="Enter some text" Margin="5"/>
<TextBox Grid.Row="1" Name="MyTextBox" Margin="5"/>
<Button Grid.Row="2" Content="OK" Margin="5"/>
<Label Grid.Row="3" Name="MyLabel" Margin="5"/>
</Grid>
</Window>
private void Button_Click(object sender, RoutedEventArgs e)
{
MyLabel.Content = MyTextBox.Text;
}
TextBox and Label
<Window x:Class="LabelDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Label Demo"
Width="250"
Height="150">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="First Name" Margin="4"/>
<TextBox Grid.Column="1" x:Name="FirstName" Margin="4"/>
<Label Grid.Row="1" Content="Last Name" Margin="4"/>
<TextBox Grid.Row="1" Grid.Column="1" x:Name="LastName" Margin="4"/>
<StackPanel Grid.Row="2" Grid.ColumnSpan="2"
Orientation="Horizontal"
HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Button Content="OK" Width="60" Margin="4"/>
<Button Content="Cancel" Width="60" Margin="4"/>
</StackPanel>
</Grid>
</Window>
RichTextBox
control has a similar appearance to a standard TextBox. However, where TextBoxes only permit you to edit plain
text, RichTextBoxes allow you to create complex documents with font and paragraph formatting, page layout
options and inserted elements, such as images.
ListBox
<Window x:Class="ListBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ListBox Demo"
Height="200"
Width="200">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<ListBox Name="MyList">
<ListBoxItem>Red</ListBoxItem>
<ListBoxItem>Orange</ListBoxItem>
<ListBoxItem>Yellow</ListBoxItem>
<ListBoxItem>Green</ListBoxItem>
<ListBoxItem>Blue</ListBoxItem>
<ListBoxItem>Indigo</ListBoxItem>
<ListBoxItem>Violet</ListBoxItem>
</ListBox>
<Button Grid.Row="1">OK</Button>
</Grid>
</Window>
private void Button_Click(object sender, RoutedEventArgs e)
{
var selected = (ListBoxItem)MyList.SelectedItem;
string value = selected == null ? "No selection" : selected.Content.ToString();
MessageBox.Show(value);
}
ComboBox
<Window x:Class="ComboBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ComboBox Demo"
Height="110"
Width="200">
<StackPanel>
<ComboBox Name="ProcessorBox">
<ComboBoxItem>Intel</ComboBoxItem>
<ComboBoxItem>AMD</ComboBoxItem>
<ComboBoxItem>Other</ComboBoxItem>
</ComboBox>
<ComboBox Name="RamBox">
<ComboBoxItem>16GB</ComboBoxItem>
<ComboBoxItem>32GB</ComboBoxItem>
<ComboBoxItem>64GB</ComboBoxItem>
</ComboBox>
<Button Height="25">OK</Button>
</StackPanel>
</Window>
private void Button_Click(object sender, RoutedEventArgs e)
{
var processorItem = (ComboBoxItem)ProcessorBox.SelectedItem;
var ramItem = (ComboBoxItem)RamBox.SelectedItem;
var processor = processorItem == null ? "No processor" : processorItem.Content;
var ram = ramItem == null ? "No RAM" : ramItem.Content;
MessageBox.Show(string.Format("{0} {1}", processor, ram));
}
RadioButton Groups
• To group a set of RadioButton controls, you set the GroupName property to
a string value. All of the radio buttons with the same group name are linked but
are not connected to controls in other groups.
<RadioButton Grid.Row="0" GroupName="Handed">Left Handed</RadioButton>
<RadioButton Grid.Row="1" GroupName="Handed" IsChecked="True">Right Handed</RadioButton>
<RadioButton Grid.Row="2" GroupName="Speed" IsChecked="True">Fast Double-Click</RadioButton>
<RadioButton Grid.Row="3" GroupName="Speed">Slow Double-Click</RadioButton>
CheckBox
<Window x:Class="CheckBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CheckBox Demo"
Height="100"
Width="300">
<StackPanel>
<CheckBox Margin="5">Please send me emails about your products</CheckBox>
<CheckBox Margin="5">Please sell my details to third parties</CheckBox>
</StackPanel>
</Window>
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
((CheckBox)sender).Foreground = Brushes.Green;
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
((CheckBox)sender).Foreground = Brushes.Red;
}
private void CheckBox_Indeterminate(object sender, RoutedEventArgs e)
{
((CheckBox)sender).Foreground = Brushes.Black;
}
GroupBox
<Window x:Class="GroupBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="GroupBox Demo"
Width="250"
Height="180">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<GroupBox Header="Mouse Handedness">
<StackPanel>
<RadioButton Content="Left-Handed" Margin="5"/>
<RadioButton Content="Right-Handed" Margin="5" IsChecked="True"/>
</StackPanel>
</GroupBox>
<GroupBox Grid.Row="1" Header="Double Click Speed">
<Slider Margin="5" />
</GroupBox>
</Grid>
</Window>
Menu
<Window x:Class="MenuItemDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Not Notepad"
Height="250"
Width="350">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="File">
<MenuItem Header="New"/>
<MenuItem Header="Open..."/>
<MenuItem Header="Save"/>
<MenuItem Header="Save As"/>
<Separator />
<MenuItem Header="Page Setup..."/>
<MenuItem Header="Print..."/>
<Separator />
<MenuItem Header="Exit"/>
</MenuItem>
….
TabControl
<TabItem Header="Employee">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Margin="5">First Name</Label>
<TextBox Grid.Column="1" Margin="5"/>
<Label Grid.Row="1" Margin="5">Last Name</Label>
<TextBox Grid.Row="1" Grid.Column="1" Margin="5"/>
</Grid>
</TabItem>
<TabItem Header="Salary">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Margin="5">Schedule</Label>
<ComboBox Grid.Column="1" Margin="5">
<ComboBox.Items>
<ComboBoxItem>Annually</ComboBoxItem>
<ComboBoxItem>Monthly</ComboBoxItem>
</ComboBox.Items>
</ComboBox>
<Label Grid.Row="1" Margin="5">Amount</Label>
<TextBox Grid.Row="1" Grid.Column="1" Margin="5"/>
</Grid>
</TabItem>
ToolBar
<Window x:Class="ToolBarDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ToolBar Demo"
Height="200"
Width="450">
<DockPanel Background="Gray">
<ToolBar DockPanel.Dock="Top" Height="28">
<Button><Image Source="/Icons/New.png"/></Button>
<Button><Image Source="/Icons/Open.png"/></Button>
<Button><Image Source="/Icons/Save.png"/></Button>
<Button><Image Source="/Icons/Print.png"/></Button>
<Button><Image Source="/Icons/Email.png"/></Button>
<Button><Image Source="/Icons/Cut.png"/></Button>
<Button><Image Source="/Icons/Copy.png"/></Button>
<Button><Image Source="/Icons/Paste.png"/></Button>
<ToggleButton Width="20" FontWeight="Bold">B</ToggleButton>
<ToggleButton Width="20" FontStyle="Italic">I</ToggleButton>
<Button><Image Source="/Icons/Left.png"/></Button>
<Button><Image Source="/Icons/Centre.png"/></Button>
<Button><Image Source="/Icons/Right.png"/></Button>
<Button><Image Source="/Icons/FullScreen.png"/></Button>
<Button><Image Source="/Icons/Help.png"/></Button>
</ToolBar>
<TextBox TextWrapping="Wrap"/>
</DockPanel>
</Window>|
ScrollViewer
<ScrollViewer>
<Grid Margin="3,3,10,3">
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
...
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Margin="3"
VerticalAlignment="Center">Home:</Label>
<TextBox Grid.Row="0" Grid.Column="1" Margin="3"
Height="Auto" VerticalAlignment="Center"></TextBox>
<Button Grid.Row="0" Grid.Column="2" Margin="3" Padding="2">
Browse</Button>
...
</Grid>
</ScrollViewer>
Expander
StatusBar
<Window x:Class="StatusBarDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="StatusBar Demo"
Width="250"
Height="200">
<DockPanel>
<StatusBar DockPanel.Dock="Bottom">
Loading...
</StatusBar>
<Label>StatusBar Example</Label>
</DockPanel>
</Window>
<StatusBar DockPanel.Dock="Bottom">
<TextBlock>Loading...</TextBlock>
<ProgressBar Width="100" Height="15" Value="67" />
</StatusBar>
Popup
<Window x:Class="PopupDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ToolTip Demo"
Height="200"
Width="250">
<Grid Margin="10">
<Button Width="100" Height="25" Click="Show_Click">Show Popup</Button>
<Popup Name="MyPopup" Placement="Mouse">
<StackPanel Background="PaleGreen">
<Label HorizontalAlignment="Center">Click to hide</Label>
<Button Click="Hide_Click" Margin="10">Hide</Button>
</StackPanel>
</Popup>
</Grid>
</Window>
private void Show_Click(object sender, RoutedEventArgs e)
{
MyPopup.IsOpen = true;
}
private void Hide_Click(object sender, RoutedEventArgs e)
{
MyPopup.IsOpen = false;
}
ProgressBar
< Button Width="25" Height="25">-</ Button >
< Button Width="25" Height="25" Grid.Column="1">+</ Button >
<Button Width="25" Height="25" Grid.Column="2">?</Button>
<ProgressBar Name="Progress"
Grid.Row="1"
Grid.ColumnSpan="3"
Height="25"/>
<Label Name="ProgressText"
Content="0"
HorizontalAlignment="Center"
Grid.Row="1"
Grid.Column="1"/>
private void Decrement_Click(object sender, RoutedEventArgs e)
{
if (Progress.Value > 0)
{
Progress.Value--;
}
SetProgressText();
}
private void Increment_Click(object sender, RoutedEventArgs e)
{
if (Progress.Value < 100)
{
Progress.Value++;
}
SetProgressText();
}
private void SetProgressText()
{
ProgressText.Content = Progress.Value;
}
Tooltip
Spell Checking!
Other Controls
• ToolBarTray
• Slider
• DatePicker
• Annotations
Dialogs
SaveFileDialog
private void SaveButton_Click(object sender, EventArgs e)
{
using (SaveFileDialog sfd = new SaveFileDialog())
{
if (sfd.ShowDialog() == DialogResult.OK)
{
SaveFile(sfd);
}
}
}
private void SaveFile(SaveFileDialog sfd)
{
string path = sfd.FileName;
File.WriteAllText(path, TextInput.Text);
}
OpenFileDialog
private void OpenButton_Click(object sender, EventArgs e)
{
using (OpenFileDialog ofd = new OpenFileDialog())
{
if (ofd.ShowDialog() == DialogResult.OK)
{
ShowFileDetails(ofd);
}
}
}
private void ShowFileDetails(OpenFileDialog ofd)
{
FileList.Items.Clear();
FileList.Items.Add(ofd.FileName);
}
private void SaveButton_Click(object sender, EventArgs e)
{
using (SaveFileDialog sfd = new SaveFileDialog())
{
if (sfd.ShowDialog() == DialogResult.OK)
{
SaveFile(sfd);
}
}
}
private void SaveFile(SaveFileDialog sfd)
{
string path = sfd.FileName;
File.WriteAllText(path, TextInput.Text);
}
SaveFileDialog OpenFileDialog
Media
Media
Media
Media
Resources
Resources
• Reusable!
GPU-Accelerated Custom Effects
for WPF
GPU-Accelerated Custom Effects for WPF
Motion
Blur
GPU-Accelerated Custom Effects for WPF
Using Custom Effect
Styles
Styles
Styles
WPF Control Templates, Heaven!
Control Templates
Control Templates
Data Template
Data Template
• Without a Data Template
Data Template
• Resources
Data Template
Data Template
Yet, More to come!
Animation
http://www.mohammadshaker.com
mohammadshakergtr@gmail.com
https://twitter.com/ZGTRShaker @ZGTRShaker
https://de.linkedin.com/pub/mohammad-shaker/30/122/128/
http://www.slideshare.net/ZGTRZGTR
https://www.goodreads.com/user/show/11193121-mohammad-shaker
https://plus.google.com/u/0/+MohammadShaker/
https://www.youtube.com/channel/UCvJUfadMoEaZNWdagdMyCRA
http://mohammadshakergtr.wordpress.com/

Contenu connexe

En vedette

WPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D AnimationWPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D Animation
Mohammad Shaker
 
WPF Layout Containers
WPF Layout ContainersWPF Layout Containers
WPF Layout Containers
Doncho Minkov
 
XNA L10–Shaders Part 1
XNA L10–Shaders Part 1XNA L10–Shaders Part 1
XNA L10–Shaders Part 1
Mohammad Shaker
 
XNA L11–Shaders Part 2
XNA L11–Shaders Part 2XNA L11–Shaders Part 2
XNA L11–Shaders Part 2
Mohammad Shaker
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
Tamir Khason
 
XNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and TransformationsXNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and Transformations
Mohammad Shaker
 

En vedette (20)

Delphi L04 Controls P2
Delphi L04 Controls P2Delphi L04 Controls P2
Delphi L04 Controls P2
 
WPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D AnimationWPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D Animation
 
WPF Layout Containers
WPF Layout ContainersWPF Layout Containers
WPF Layout Containers
 
Utilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D EnvironmentUtilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D Environment
 
Indie Series 03: Becoming an Indie
Indie Series 03: Becoming an IndieIndie Series 03: Becoming an Indie
Indie Series 03: Becoming an Indie
 
XNA L10–Shaders Part 1
XNA L10–Shaders Part 1XNA L10–Shaders Part 1
XNA L10–Shaders Part 1
 
Delphi L02 Controls P1
Delphi L02 Controls P1Delphi L02 Controls P1
Delphi L02 Controls P1
 
C# Starter L07-Objects Cloning
C# Starter L07-Objects CloningC# Starter L07-Objects Cloning
C# Starter L07-Objects Cloning
 
XNA L11–Shaders Part 2
XNA L11–Shaders Part 2XNA L11–Shaders Part 2
XNA L11–Shaders Part 2
 
C# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASPC# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASP
 
Android L01 - Warm Up
Android L01 - Warm UpAndroid L01 - Warm Up
Android L01 - Warm Up
 
C# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow FoundationC# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow Foundation
 
Interaction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyInteraction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with Psychology
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
 
C# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCFC# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCF
 
Short, Matters, Love - Passioneers Event 2015
Short, Matters, Love -  Passioneers Event 2015Short, Matters, Love -  Passioneers Event 2015
Short, Matters, Love - Passioneers Event 2015
 
C# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsC# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension Methods
 
OpenGL Starter L02
OpenGL Starter L02OpenGL Starter L02
OpenGL Starter L02
 
Car Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS SystemsCar Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS Systems
 
XNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and TransformationsXNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and Transformations
 

Similaire à WPF L01-Layouts, Controls, Styles and Templates

MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF Demystified
Dave Bost
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4
pietrobr
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The Nextweb
George Kanellopoulos
 

Similaire à WPF L01-Layouts, Controls, Styles and Templates (20)

WPF - An introduction
WPF - An introductionWPF - An introduction
WPF - An introduction
 
Create a landing page
Create a landing pageCreate a landing page
Create a landing page
 
DIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web DesigningDIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web Designing
 
Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1Building appsinsilverlight4 part_1
Building appsinsilverlight4 part_1
 
Controls Use in Windows Presentation Foundation (WPF)
Controls Use in Windows Presentation Foundation (WPF)Controls Use in Windows Presentation Foundation (WPF)
Controls Use in Windows Presentation Foundation (WPF)
 
Chpater1
Chpater1Chpater1
Chpater1
 
Xaml programming
Xaml programmingXaml programming
Xaml programming
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
 
14_ HTML Con't.ppt
14_ HTML Con't.ppt14_ HTML Con't.ppt
14_ HTML Con't.ppt
 
MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF Demystified
 
Programming languages asp.net
Programming languages asp.netProgramming languages asp.net
Programming languages asp.net
 
Prototyping interactions
Prototyping interactionsPrototyping interactions
Prototyping interactions
 
HTML5, the new buzzword
HTML5, the new buzzwordHTML5, the new buzzword
HTML5, the new buzzword
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The Nextweb
 
New XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators UpdateNew XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators Update
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
treeview
treeviewtreeview
treeview
 
treeview
treeviewtreeview
treeview
 

Plus de Mohammad Shaker

Plus de Mohammad Shaker (20)

12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
 
Android L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesAndroid L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and Wearables
 
Interaction Design L03 - Color
Interaction Design L03 - ColorInteraction Design L03 - Color
Interaction Design L03 - Color
 
Interaction Design L05 - Typography
Interaction Design L05 - TypographyInteraction Design L05 - Typography
Interaction Design L05 - Typography
 
Interaction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingInteraction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and Coupling
 
Android L05 - Storage
Android L05 - StorageAndroid L05 - Storage
Android L05 - Storage
 
Android L04 - Notifications and Threading
Android L04 - Notifications and ThreadingAndroid L04 - Notifications and Threading
Android L04 - Notifications and Threading
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOS
 
Interaction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsInteraction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile Constraints
 
Interaction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsInteraction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and Grids
 
Android L10 - Stores and Gaming
Android L10 - Stores and GamingAndroid L10 - Stores and Gaming
Android L10 - Stores and Gaming
 
Android L06 - Cloud / Parse
Android L06 - Cloud / ParseAndroid L06 - Cloud / Parse
Android L06 - Cloud / Parse
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and Utilities
 
Android L03 - Styles and Themes
Android L03 - Styles and Themes Android L03 - Styles and Themes
Android L03 - Styles and Themes
 
Android L02 - Activities and Adapters
Android L02 - Activities and AdaptersAndroid L02 - Activities and Adapters
Android L02 - Activities and Adapters
 
Indie Series 01: Intro to Games
Indie Series 01: Intro to GamesIndie Series 01: Intro to Games
Indie Series 01: Intro to Games
 
Indie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSevenIndie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSeven
 
Indie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in GamesIndie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in Games
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 

WPF L01-Layouts, Controls, Styles and Templates