- Introducing Silverlight
- Demo: MS Silverlight page
- Why Silverlight?
- Evolution of Silverlight
- Development Tools
- Getting Started
- Additional Projects
- WPF vs. Silverlight
- An Inconvenient Truth
- Silverlight and XAML
- Demo: Silverlight Application
- Investigating XAML
- Properties/Type Converters
- Type Converters
- Complex Properties
- Demo: Complex Properties
- Markup Extensions
- Demo: Markup Extensions
- Attached Properties
Content and Grid Controls
- Content and Grid Controls
- Working with Layout Controls
- Demo: Layout Controls
- List Box as a Container
- Demo: List Box Container
- Grid as Container
- Demo: Grid Control
- Dependency Properties
- DependencyObject Class
- Investigating Property
- Declaring the Property
- In Constructor
- Property Wrapper
- Using Attached Properties
- Working Attached Properties
- Demo: Attached Properties
- Running Out of Browser
- Demo: Out of Browser
- Windows Forms Layout
- Web Forms Layout
- XAML Layout
- XAML Layout is Recursive
- Determining Element Size
- Alignment
- Margin and Padding
- Alignment, Margin, Padding
- Containers
- StackPanel
- Determining Element Size
- Demo: StackPanel
- Demo: Sizing Elements
- WrapPanel
- Demo: WrapPanel
- DockPanel
- Demo: DockPanel
- Nesting Containers
- Demo: Nesting Containers
- Grid
- Demo: Grid
- Canvas
- Demo: Canvas
- Simplist Controls
- Border Control
- Border Control Properties
- LinearGradientBrush
- GradientStop
- More on GradientBrush
- Demo: BorderControl
- Demo: ButtonControl
- Demo: Checkbox Control
- CheckBox Control Events
- RadioButton Control
- Demo: RadioButton
- Text Entry Controls
- TextBlock Control
- Line Breaks
- Using the <Run/> Elemnet
- TextBox Control
- TextBox Properties
- TextBox Key Events
- Demo: Key Events
- PasswordBox Control
- Demo: PasswordBox
- Calendar Control
- DatePicker Control
- Demo: Calendar and DataPicker
- Miscellaneous Controls
- Slider Control
- ProgressBar Control
- MediaElement Control
- Demo: Slider Controls
- Demo: ProgressBar Control
- Demo: MediaElement Control
- ListBox
- Populate a ListBox
- More ListBox
- Demo: ListBox
- ComboBox
- IsEditable and IsReadOnly
- Demo: ComboBox
- TreeView
- Populate TreeView in XAML
- More TreeView
- Demo: TreeView
- Introducing XAML Resources
- Why Use Resources?
- The Resources Dictionary
- Demo: Resource
- Using Resources
- Static vs Dynamic
- Defining Static Resources
- Hierarchy of Resources
- Demo: Hierarchy of Resources
- Self-Referential Resource
- Demo:Self-Referential Resource
- Resource Naming Conflicts
- Demo: Naming Conflicts
- Application-Level Resources
- Demo: Application-Level
- Modifying Resources in Code
- Demo: Modifying Resources
- Organizing Resources
- Demo:Organizing Resources
- One Small Restriction
- Introducing XAMLStyles
- Creating a Simple Style
- Demo: Simple Style
- What's Going On
- Why Use Styles
- Important Tool
- Dynamic Styles
- Demo: Applying Styles
- Style Inheritance
- Demo: Style Inheritance
- Be Careful!
- NavigationService
- Demo: NavigationService
- URI Mapping
- Demo: URI Mapping
- Hosting Pages in Pages
- Demo: Hosting Pages
- Navigation Application
- Demo: Navigation Template
- Introducing Binding
- When to Use Binding
- Sources + Targets
- Under the Hood
- Value Converters
- Demo: Binding
- Binding Details
- Setting the Binding Mode
- Demo: TwoWay Data
- A Simple Example
- Demo: TextBox Binding
- Working With
- To the Rescue
- StringFormat Property
- Demo: StringFormat
- StringFormat Details
- Using a Type Converter
- Creating the Type Converter
- Converters
- Converter Warning
- Demo: Converter
- Referencing Type Converter
- Demo: Code Converter
- Using the Type Converter
- Demo: Converter Hookup
- Lists and Data Templates
- Demo: Binding Lists
- Adding a Data Template
- Demo: Data Template
- Another Data Template
- Demo: Another Data Template
- Binding and Data Templates
- Demo: Binding Data Templates
- Data Binding
- Without Data Binding
- With Data Binding
- Binding to an Object
- Demo: Binding to an Object
- Data Source Options
- WCF Overview
- WCF Building Blocks
- Creating a WCF Service
- Calling the WCF Service
- Demo: WCF Service
- Binding to a List of Customers
- Binding to One Customer
- Binding to One Product
- Displaying Related Data
- Data Entry
- Demo: WCF and SQL Data
- DataGrid
- DataGrid Properties
- Demo: DataGrids
- Row Details
- Demo: Row Details
- Working with DataGrids
- Demo: Working with DataGrids
- DataForm
- DataForm Events
- DataForm Properties
- Defining Columns
- Demo: Defining Columns
- DataPager
- DataPager Properties
- Demo: DataPager Properties
- Working with Shapes
- Investigating Basic Shapes
- The Shape Class
- Rectangle and Ellipse Shapes
- Rounding Corners
- Demo: Rounding Corners
- Positioning and Sizing Shapes
- Demo: Positioning and Sizing
- Positioning Shapes
- Demo: Positioning Shapes
- Resizing Shapes
- ViewBox Control
- Demo: ViewBox Control
- The Line Shape
- Demo: The Line Shape
- Adding Line Caps
- Demo: Adding Line Caps
- Using Dashes
- StrokeDashArray
- Demo: StrokeDashArray
- The Polyline Shape
- Polyline
- Demo: Polyline
- The Polygon Shape
- FillRule
- Demo: FillRule
- Using Line Joins
- Demo: Using Line Joins
- Using Paths and Geometries
- Paths vs Geometries?
- Ellipse, Line, RectangleGeomet
- Demo: Ellipse,Line,RetangleGeo
- Using the GeometryGroupElement
- Demo: Using the GeometryGroupElement
- Curves/Lines with PathGeometry
- Segment Types
- Demo: Segment Types
- Working with Lines
- Working with Arcs
- Demo: Working with Arcs
- Working with Curves
- Important Tip
- Demo: Important Tip
- Geometry Mini-Language
- Working with Brushes
- Whats' a Brush?
- SolidColorBrush Class
- How to Select a Color
- Use Named Colors
- Use #rrggbb or #aarrggbb Syntax
- Use Element.Property Syntax
- Demo: Use Element.Property Syntax
- LinearGradientBrush Class
- LinearGradientBrush
- Rotating the Gradient
- Changing the Stop Points
- Demo: Changing the Stop Points
- Extending the Gradient
- Rectangles Only?
- Demo: Rectangles Only?
- RadialGradientBrush Class
- Demo: RadialGradientBrush Class
- ImageBrush Class
- ImageBrush
- Demo: ImageBrush
- Using Transparency
- Demo: Using Transparency
- Using OpacityMask
- OpacityMask Property
- Demo: OpacityMask Property
- Transforms
- Repeating Shapes
- RotateTransform
- Demo: RotateTransform
- ScaleTransform
- Demo: ScaleTransform
- SkewTransform
- Demo: SkewTransform
- TranslateTransform
- Demo: TranslateTransform
- Avoiding Absolute Coordinates
- Demo: Avoiding Absolute
Coordinates
- Transforming a FrameworkElement
- Demo: Transforming a FrameworkElement
- Adding Reflection Effects
- Demo: Adding Reflection Effects
- Silverlight Application Architecture
- Deploy Silverlight Application
- Configure Silverlight Plug-In
- Demo: Configure Silverlight Plug-In
- Assembly Caching
- Demo: Assembly Caching
- Deploy Out-of-Browser Apps
- Customize Installation
- Demo: Deploy Out-of-Browser
- Check for Updates
- Application Class
- Demo: Out-of-Browser Updates
- Why Use Expression Blend?
- Enter Expression Blend
- Top Ten Expression Blend Features
- Why Use Expression Blend?
- Expression Blend and SketchFlow
- Working with Expression Blend
- Obtaining Expression Blend
- Demo: Obtaining Expression Blend
- Document Views
- Demo: Document Views
- Workspaces
- Demo: Workspaces
- The Expression Blend Toolbar
- The Selection Tool
- The Direct Selection Tool
- The Pen/Pencil Tools
- Demo: The Pen/Pencil Tools
- The Pan Tool
- The Zoom Tool
- Demo: The Zoom Tool
- The Eyedropper Tool
- The Paint Bucket Tool
- Demo: The Paint Bucket Tool
- Rectangle, Ellipse, and Line
- Demo: Rectangle, Ellipse, and Line
- Brush Transform and Gradient Tools
- Demo: Brush Transform and Gradient Tools
- Layout Controls
- Text Controls
- Input Controls
- The Asset Library
- The Asset Library Last Used Tool
- Demo: the Asset Library Last Used Tool
- Expression Blend's Designer Panels
- The Objects and Timeline Panel
- Demo: The Objects and Timeline Panel
- The Projects Panel
- Integrating Blend and Visual Studio
- Demo: Integrating Blend and Visual Studio
- The Properties Panel
- Filtering the Properties Panel
- Demo: Filtering the Properties Panels
- Transform Section
- Render Transforms
- Projection Transformations
- Demo: Projections Transformations
- Element to Element Binding
- Demo: Element to Element Binding
- Getting Started
- Understanding Animation
- Limitations
- Rules of Animation
- Simple Animation
- Demo: Simple Animation
- The Animation Class
- Types of Animation Classes
- The Storyboard Class
- The Event Trigger
- Limitations
- Animating Multiple Properties
- Demo: Animating Multiple Properties
- Starting an Animation Using Code
- Demo: Starting an Animation Using Code
- Using the ColorAnimation Class
- Whats' Up With Fill?
- Demo: What's Up With Fill?
- Using the PointAnimation Class
- Demo: Using the PointAnimation Class
- Animation with Key Frames
- Interpolation Methods
- Demo: Interpolation Methods
- Animation Properties
- From Property
- Demo: From Property
- To Property
- By Property
- Demo: By Property
- Duration Property
- AutoReverse Property
- Demo: AutoReverse Property
- RepeatBehavior Property
- RepeatBehavior and AutoReverse
- Repeat for Time
- Repeat Forever
- Demo: Repeat Forever
- BeginTime Property
- Demo: BeginTime Property
- Controlling Playback
- Demo: Controlling Playback
- Easing Functions
- BounceEase
- Easing Functions
- EasingMode
- Demo: EasingMode
- Another Example
- Demo: Another Example
- Microsoft Easing Functions
- Demo: Microsoft Easing Functions
- Animating Brushes
- Demo: Animating Brushes
- Animate Transform
- Demo: Animate Transform
- Animation in Blend
- Demo: Animation in Blend
- WCF Data Services
- REST
- REST Principles
- Why Use REST vs. SOAP?
- WCF Data Services 2
- Creating a WCF Data Service
- Demo: Create a WCF Data Service
- Demo: Call WCF Data Service
- Calling Services from Clients
- Demo: Retrieve List of Customers
- Demo: Retrieve One Customer
- Demo: Retrieve Related Data
- Demo: Data Entry
- Demo: CollectionViewSource
- WebClient Class
- WebClient Methods
- Two Examples Using WebClient
- REST
- REST Principles
- Why Use REST vs SOAP?
- REST and WCF
- Demo: REST and WCF
- Syndication
- Syndication and .NET
- Demo: Syndication and .NET