Styles
Setter
EventSetter
Inheritance
Can have internal resource
Style.Triggers
Set data template
set control template
Resources
Resources
resource type
Dynamic Resource
Static resource
Merged Resource Dictionary
Uri
RelativeOrAbsolute
Relative
Absolute
Load resource example
Triggers
Property triggers
Event trigger
Data triggers
Multi triggers
MultiData triggers
Animation
Storyboard
Attached property
TargetName
TargetProperty
WPF Property Animation System
Animation Types
<Type>Animation
To
By
From
<Type>AnimationUsingKeyFrames
interpolation
discrete
linear
splined
KeySpline.
steps
step1
step2
step3
Example
<InterpolationMethod><Type> KeyFrame
Value
KeyTime
0:0:8
Uniform
Paced
<Type>AnimationUsingPath
Example
Property
.PathGeometry
ArcSegment
BezierSegment
LineSegment
PolyBezierSegment
PolyLineSegment
PolyQuadraticBezierSegment
QuadraticBezierSegment
<Type>AnimationBase
Animation object
property
Duration
AutoReverse
RepeatBehavior
BeginTime
FillBehavior
HoldEnd
Stop
Control the Speed
SpeedRatio
AccelerationRatio
DecelerationRatio
.EasingFunction
BackEase
BounceEase
CircleEase
CubicEase
ElasticEase
ExponentialEase
PowerEase
QuadraticEase
QuarticEase
QuinticEase
SineEase
Customization
inherit
EasingFunctionBase
Property
EasingMode
EaseOut
EaseIn
EaseInOut
All Example
Actions
BeginStoryboard
PauseStoryboard
ResumeStoryboard
SetStoryboardSpeedRatio
SkipStoryboardToFill
StopStoryboard
RemoveStoryboard
Example
Introduction
XAML
Markup Extensions
Type Converters
Dependency Properties
Attached properties
Logical and Visual Trees
object tree.
templates
Control template
ContentPresenter
ControlTemplate.Triggers
ContentTemplate
Data Template
DataTemplate.Triggers
Validation.ErrorTemplate
AdornedElementPlaceholder
selector
ContentTemplateSelector
DataTemplateSelector
Skins
Command
Routed commands vs routed events
RoutedCommand
properties:
Name
OwnerType
InputGestures collection
RoutedUICommand
property
Text
Built in commands
ApplicationCommands.
Copy
Past
Cut
...
NavigationCommands.
EditingCommands.
ComponentCommands.
MediaCommands.
Executing Commands
ICommandSource
Command
CommandParameter
CommandTarget
Binding
What to do when the command is triggered.
How to determine whether the command can be performed.
Where the command is in effect.
CommandManager.InvalidateRequerySuggested()
CanExecuteRoutedEventArgs
CanExecute
Handled
MVVM
Links
Model
View
ViewModel
ICommand
DelegateCommand (RelayCommand)
ActiveAwareCommand
Biding
How do I
Inside the MVVM pattern
Describe the differences between the MVVM pattern and other separated presentation patterns
Implement the Model View ViewModel pattern
Adapt a simple vs complex model to the View
Work with popups and modal dialogs
Trigger animations from the View (without code behind)
Avoid code behind while building Views
Work with asynchronous methods
When applying the MVVM pattern to an application
Instantiate my Views / ViewModels
Create a logical ViewModel structure of my application
Implement automatic datatemplate selection in Silverlight
Binding
{Binding}
ElementName
Path
example
Path=SelectedItem.Content
Mode
OneWay
TwoWay
Onetime
OneWayToSource
Source
default is dataContext
ObjectDataProvider
XmlDataProvider
Converter
IValueConverter
FallbackValue
RelativeSource
StringFormat
ValidationRules
ExceptionValidationRule
Exception
ValidatesOnExceptions
DataErrorValidationRule
IDataErrorInfo
Alternative Syntax
Custom rule
Example: AgeRangeRule
UpdateSourceTrigger
Default
Explicit
LostFocus
PropertyChanged
MultiBinding
Binding to Collections
ItemsControl
DisplayMemberPath
ItemsSource
INotifyCollectionChanged
ObservableCollection
ItemsTemplate
Collection Views
Get the Default View
Create collection view
Sorting
Filtering
Grouping
Routed Events
Create a Custom Routed Event
Tunneling
Bubbling
Direct
Installation
Class Hierarchy
Adorners
Testing
tree of peer classes
Effects
BlurEffect
DropShadowEffect
ShaderEffect
WPF Framework Class Hierarchy
MarkupExtension
BindingExtension
StaticResourceExtension
RelativeSourceExtension
XAML Namespace
Custom Markup Extension
Mixing WPF and WinForms