You are previewing Microsoft.
O'Reilly logo
Microsoft

Book Description

Microsoft Expression Blend Unleashed is about learning a new tool for designers, but also learning a new mindset for developers. Expression Blend enables the delivery of rich interactive applications, for the web as well as the desktop, allowing you to take graphical assets and blend them with functional .NET code through the power of XAML and the WPF platform. Microsoft Expression Blend Unleashed also features a C# Primer, introducing designers to the .NET Framework. .NET allows the reader to extend the functionality of many of the WPF elements used in Expression Blend. The most important concept for the reader to grasp is that Blend and Visual Studio together are about facilitating the kind of user experience everyone wants from the applications they use. This book will give you the skill set whether you are a designer or developer; from there, you just need to use a little imagination.

Detailed information on how to…

  • Design and develop WPF applications

  • Use Blend’s animation workflows

  • Design and implement WPF template types

  • Create and manage Resource Dictionaries

  • Master WPF Style templates

  • Handle control events

  • Understand advanced control properties in XAML/Blend/C#

  • Create customized controls through inheritance

  • Understand the fundamentals of XAML-based design and development

  • Implement effective XML, CLR Data binding, and XAML template binding

  • Extend XAML functionality with C# code

  • Implement video and audio in your applications

  • Use Blend as part of your designer/developer workflow

Table of Contents

  1. Copyright
    1. Dedication
  2. About the Author
  3. Acknowledgments
  4. We Want to Hear from You!
  5. Reader Services
  6. Foreword
  7. I. Overview
    1. 1. Introduction to Expression Blend
      1. The Next Generation User Experience
        1. How This Book Will Help You
        2. The Business Mindset of the End User
        3. Vista and .NET Framework 3.0/3.5 (Formerly WinFX)
      2. Windows Presentation Foundation (WPF)
        1. Silverlight
      3. Expression Blend Versus Visual Studio
      4. An Introduction to Expression Blend and XAML
        1. Layered Understanding
          1. The Graphical UI Layer
          2. The Logic Layer (Class Library)
        2. XAML Representations
          1. XAML/CLR Example
        3. Code/Markup Integration
      5. The Benefits of Expression Blend
        1. The XAML Architect’s View
        2. The Interactive Designer’s View
        3. The Coder’s View
        4. The Workflow
        5. The End User or Client
      6. Summary
    2. 2. Welcome to the New World
      1. Your First Look at Expression Blend 2
        1. The “Hello World” Application
      2. Viewing XAML Elements
        1. Changing the “World” with XAML
        2. Using XAML in Visual Studio
        3. Changing the “World” with Code
      3. The Best of Both Worlds or Not?
        1. Changing the “World” with C# Code in XAML
      4. Blend Versus Visual Studio Project Types
      5. Your First REAL Blend Application: Twitter Reader
        1. Creating the New Project in Blend
          1. Building the UIElements
        2. Coding Up Your Twitter
      6. Summary
    3. 3. Expression Blend Panels
      1. Panels
        1. Interaction
          1. Category Collapse
          2. Dock/Undock
          3. Resizer
        2. Triggers
          1. Trigger Types
          2. Remove Trigger
          3. Active Trigger
          4. Property Recording State
          5. Defined Triggers
          6. Action Applied to Trigger
          7. Recorded Property State
          8. UIElement Selector
          9. Timeline Selector
          10. Add/Remove items
          11. Timeline Action
          12. Property
          13. Property Value
        3. Objects and Timelines
          1. Timeline Recording Status On/Off
          2. Open a Storyboard
          3. Current Storyboard
          4. Close Current Storyboard
          5. New Storyboard
          6. Storyboard Actions
          7. Timeline Snapping
          8. Timeline Resolution (Snapping/Second)
          9. Playhead Position
          10. New KeyFrame
          11. Timeline
          12. Lock/Unlock All
          13. Timeline Zoom
          14. Show/Hide All
          15. XAML/Z-Order Arrangement
          16. Selected Element
          17. Activated Element (Yellow Border)
          18. Parent UIElement
          19. Scope Up Button
        4. Storyboard Picker
          1. Storyboard Search
          2. Clear Search
          3. Current Storyboard
          4. Close Storyboard
        5. Storyboard Actions
          1. New
          2. Duplicate
          3. Reverse
          4. Delete
          5. Rename
          6. Close
        6. Resources
          1. Create New Resource Dictionary
          2. Filter Resource List
          3. Resource Scope Levels
          4. Resource Name
          5. Resource Preview
          6. Modify Resource
        7. Project Panel
          1. Files
            1. Solution Name
            2. Project Name
            3. Project References
            4. Startup File
            5. .NET Code Behind File
            6. Changes Unsaved
          2. Data
            1. Add XML Datasource
            2. Add CLR Datasource
            3. Remove Selected Datasource
            4. Datasource Scope
            5. Datasource Schema
            6. Datasource Object
        8. Properties Panel
          1. Object Name
          2. Object Type
          3. Case Insensitive Search
          4. Property View Mode
          5. Event View Mode
          6. Search Clear
          7. Property Categories
          8. Brushes
            1. Properties
            2. No Brush
            3. Color Mixer
            4. Gradient Stop
            5. Gradient Types
            6. Gradient Options
            7. Last Mixed Color
            8. Color Eyedropper
            9. Make Brush Resource
            10. Gradient Eyedropper
            11. Make Color Resource
            12. Alpha Value
            13. View Color Resources
            14. View Brush Resources
            15. Tile Brush
            16. Gradient Brush
            17. Solid Color Brush
            18. Color Slide
          9. Appearance
            1. Object Opacity
            2. Object Visibility
            3. Window Style
            4. Advanced Properties Hide/Show
          10. Layout
            1. Set to “Auto” Sizing
            2. Stretch Alignment
            3. Margin Settings
            4. Content Alignment
          11. Common Properties
            1. Application Icon
            2. Window Title
          12. Text
            1. Font Name
            2. Paragraph Settings
            3. Line Indent Settings
            4. List Settings
            5. Font Size
            6. Embed Font Option
            7. Subset Selection
            8. Advanced Font Settings
            9. Font to Embed
            10. Font Element to Embed
          13. Miscellaneous
            1. Click Mode Value
            2. Advanced Property Options
            3. Advanced Properties
            4. Reset
            5. Apply Local Resource
            6. View System Resources
            7. Convert to New Resource
            8. Data Bind Element
        9. Results
          1. Output
          2. Errors
        10. Asset Library Panel
          1. Search Library
          2. Control Collections and Style Libraries
          3. Local Styles
          4. Controls
          5. Referenced Controls
          6. Media Resources
          7. Views
      2. Summary
    4. 4. XAML for Beginners
      1. XAML Syntax
        1. XAML Elements
        2. Nested Elements
        3. Child Elements
        4. Object Properties and Events
        5. Markup Extensions
      2. Summary
  8. II. Going with the Flow
    1. 5. UIElement: Control Embedding
      1. Managing Embedding
        1. Positioning Properties
        2. Adding Child Controls
        3. Tree Control Sample in C# and XAML
      2. Limitations with ContentControls
      3. Summary
    2. 6. Panel-Based Containers
      1. Where Are the Anchors?
        1. Grid Element
        2. Canvas Element
        3. Stack Panel
        4. Wrap Panel
        5. Dock Panel
        6. ScrollViewer Control
        7. Border Element
        8. Uniform Grid
        9. ViewBox Control
      2. Summary
  9. III. Using All the New Stuff
    1. 7. Using the Blend Toolbox: Tools and Common Controls
      1. Toolbox Categories
        1. Usability Tools (Environment)
        2. Path Tools
        3. Shape Tools
        4. Panel-Based UIElements
        5. Text-Based UIElements
        6. Common Controls UIElements
        7. Recent Control Elements
      2. Tools in Detail
        1. Pan Tool
        2. Zoom Tool
        3. Line Tool
        4. Direct Selection
        5. Pen Tool
        6. Pencil Tool
        7. Ellipse Tool
        8. Eyedropper Tool
        9. Paint Bucket
        10. Brush Transform Tool
        11. Camera Orbit
      3. Summary
    2. 8. An Example Control Using Just the Tools Palette
      1. Building a Gel Button from Scratch
        1. Working the Layers
        2. Using the Make Button Tool
      2. Introduction to the Timeline and Timeline Events (Triggers)
        1. Adding Animated Glow
      3. A Look at RoutedEvents
      4. Creating a Control Template
        1. Testing the Template and RoutedEvents
      5. Summary
    3. 9. Using the Blend Asset Library
      1. Asset Library Overview
        1. Controls Tab
        2. Local Styles Tab
        3. Media Tab
        4. Custom Controls Tab
        5. Recent Tab
      2. Familiar Windows Controls
        1. Button Element
        2. CheckBox Element
        3. ComboBox Element
        4. ItemsCollection Controls
        5. Using Images
          1. BitmapImage Type
        6. Label Elements
        7. Listbox Element
          1. ListBoxItem
        8. ListView Control
          1. ListViewItem
        9. PasswordBox Control
        10. ProgressBar Control
        11. RadioButton Elements
        12. RichTextBox Control
        13. Slider Element
      3. A Look at the New WPF Controls in Blend
        1. ContentControl
          1. ContentPresenter
        2. HeaderedContentControl
          1. TabControl
        3. HeaderedItemsControl Element
          1. TreeView
          2. TreeViewItem
        4. Expander Control
        5. GridSplitter Control
        6. Popup Control
        7. ScrollViewer Control
      4. Summary
    4. 10. Visual Studio: C# Primer
      1. Data Types
        1. Primitive Data Types
          1. How to Find Types in Blend
        2. Classes
          1. Concept
          2. Creating a Simple Class
          3. Scope
        3. Properties
          1. CLR Properties
          2. Dependency Properties
        4. Conditional Coding
          1. if-else
        5. Enums
          1. Simple Enums
          2. Switch Statement
        6. Methods
          1. How to Call a Method
        7. How Many Methods Can You Have?
        8. Events
          1. Concept
          2. CLR Events
          3. RoutedEvents
          4. The Proof
        9. Collections
          1. List<T>
          2. List.Add(T);
          3. Dictionary<T,T>
          4. Foreach
      2. Summary
  10. IV. Extended Graphic Tools
    1. 11. Graphic Items
      1. Sample Application
      2. Different Strokes
      3. Brushes Category
      4. Transformations
        1. Translate
        2. Rotate
        3. Scale
        4. Skew
        5. Center Point
        6. Flip
      5. Motion Paths
      6. Bitmap Effects
        1. BitmapEffectGroup
        2. BitmapEffectInput
          1. AreaToApplyEffect
          2. AreaToApplyEffectUnits
          3. Input
      7. Workflow: Import a Vector Object from Expression Design
        1. Giving the XAML to Blend
      8. Summary
  11. V. Templates and Data
    1. 12. Templates
      1. Control Templates
        1. What Is a Control Template?
        2. Creating a New Template
        3. Editing the Control Parts (Template)
        4. Applying to Other UIElements
      2. Style Templates
        1. What Is a Style Template?
        2. Edit an Existing Style
        3. Creating a New Style
        4. FocusVisualStyle
        5. Applying the Style Across the Project
      3. Data Templates
        1. Setting the Data Source
        2. Creating a Data Template
      4. Summary
    2. 13. Data Binding
      1. Data Sources
      2. Binding to an Element
        1. Two-Way Binding
        2. A Change of Color
      3. Using Data Context
      4. CLR Data Binding
        1. The Scenario
      5. Summary
  12. VI. Controlling Controls
    1. 14. Animations with Storyboards
      1. Storyboards and Timelines
      2. KeyFrames
        1. Repeat Animation
        2. KeyFrame Easing
      3. Triggers
        1. Event Triggers
        2. Timeline States
        3. Property Triggers
        4. Handoff Animation
      4. Duplicate and Reverse a Timeline
      5. Controlling the Timeline in Code
        1. C# Example
      6. Summary
    2. 15. Commands
      1. Concept of Commands
      2. Defining a New Command
      3. Invoking a Command
      4. Simple XAMLNotepad Application
        1. Building the Menu Items
        2. Save and Open a XAML Package
      5. Summary
    3. 16. Using Resources for Skins
      1. The Power of WPF Resources
      2. Changing a Style at Runtime in Code
      3. Using MergedDictionaries
        1. Application.Current.Resources
        2. Skin Logic
      4. Loading an External Skin File
      5. Summary
    4. 17. Working with Windows
      1. Window Elements
      2. Setting a Window to Show as Transparent
      3. Creating Multiple Windows
      4. Switching Between Windows in Code
      5. Summary
  13. VII. Advanced Topics
    1. 18. Creating a Custom Control
      1. Things to Consider
        1. Level 1—FrameworkElement
        2. Level 2—Control
        3. Level 3—Inherited Control
        4. Level 4—UserControl
      2. Where to Start
      3. Building the Control
      4. Testing the Control
      5. Summary
    2. 19. Using 3D in Blend
      1. Viewport3D
        1. The Selection Tool
          1. Red Arc & Pointer
          2. Green Arc & Pointer
          3. Blue Arc & Pointer
        2. The Camera Orbit Tool
      2. Importing 3D Objects
        1. Materials
        2. The Camera
        3. The Lights
          1. Ambient Light
          2. Point Light
          3. Directional Light
          4. Spot Light
      3. Summary
    3. 20. Controlling Media (Music or Video)
      1. Creating the Project
        1. XAML Requirement
        2. Player Controls
        3. Code Requirement
      2. Summary