343
■ ■ ■

!PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■ ■ ■

Page 2: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 3: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Contents

The XAML Syntax ............................................................................................................... 2

Namespaces and Root Elements .............................................................................................................. 2

Objects and Common Elements ................................................................................................................ 3

The Code Behind ....................................................................................................................................... 6

Attached Properties .................................................................................................................................. 8

Introduction to WPF ........................................................................................................... 8

WPF Architecture .................................................................................................................................... 13

WPF 4 Tools ............................................................................................................................................ 17

Summary ......................................................................................................................... 23

Requirements .................................................................................................................. 25

Tools and Software ................................................................................................................................. 25

Icons and Templates .............................................................................................................................. 26

Third-Party Library and Controls ............................................................................................................ 26

Application Overview ....................................................................................................... 27

Application Architecture ......................................................................................................................... 27

User Stories ............................................................................................................................................ 31

Page 4: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Domain Model ......................................................................................................................................... 32

Database Schema ................................................................................................................................... 34

Application Configuration ................................................................................................ 35

Visual Studio Solution ............................................................................................................................. 35

Resources and Third-Party Components ................................................................................................ 38

Summary ......................................................................................................................... 41

Overview .......................................................................................................................... 43

Blend Workspace ............................................................................................................. 45

Workspace Panels .................................................................................................................................. 46

Drawing ........................................................................................................................... 48

Shapes and Objects ................................................................................................................................ 49

Text and Text Effects .............................................................................................................................. 50

Animations ....................................................................................................................... 51

Styling and Templating Controls ...................................................................................... 53

Modifying Properties .............................................................................................................................. 54

Creating Styles ....................................................................................................................................... 55

Design-Time Data ............................................................................................................ 57

SketchFlow and the Mockups ......................................................................................... 59

Summary ......................................................................................................................... 60

Overview .......................................................................................................................... 61

Creating a Mock-up and Prototyping ............................................................................... 62

The Main Screen ..................................................................................................................................... 64

The List Views ........................................................................................................................................ 66

The Details Views ................................................................................................................................... 69

Page 5: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The View Models .............................................................................................................. 70

Base ViewModel Implementation ........................................................................................................... 70

Details ViewModel .................................................................................................................................. 73

List ViewModel ....................................................................................................................................... 74

Navigation Between the Views ........................................................................................ 77

The App.xaml File ................................................................................................................................... 77

Wrapping Up with IoC ...................................................................................................... 79

Inversion of Control ................................................................................................................................ 79

A Classic Implementation, Navigation Service ....................................................................................... 79

Summary ......................................................................................................................... 85

Resources and Styles ...................................................................................................... 87

Differences Between Static and Dynamic Resources ............................................................................ 88

The Resource Dictionary ......................................................................................................................... 88

Controls’ Styles ....................................................................................................................................... 91

Creating the Views ........................................................................................................... 97

Login View .............................................................................................................................................. 98

Details View .......................................................................................................................................... 100

List View ............................................................................................................................................... 104

User Controls for the Dashboard .......................................................................................................... 107

The Dashboard (MainView) ................................................................................................................... 109

Add Features to the Application ..................................................................................... 110

Custom Effects ..................................................................................................................................... 110

Summary ....................................................................................................................... 111

Object Relational Mappers ................................................................................................................... 113

Active Record Pattern ........................................................................................................................... 115

Code First Development ....................................................................................................................... 117

Page 6: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The TimeTracker Domain ............................................................................................... 121

Mapping the Domain Model .................................................................................................................. 121

The TimeTracker Data Layer .......................................................................................... 135

The Unit of Work ................................................................................................................................... 135

The Repository ...................................................................................................................................... 151

Summary ....................................................................................................................... 158

WPF Data Binding Engine .............................................................................................. 159

The INotifyPropertyChanged Interface .................................................................................................. 160

Binding Direction .................................................................................................................................. 162

The IValueConverter Interface .............................................................................................................. 162

DataTemplate ....................................................................................................................................... 166

UI Validation .......................................................................................................................................... 168

Binding Syntax ...................................................................................................................................... 170

ViewModels ................................................................................................................... 171

A Generic ViewModel Validator ............................................................................................................. 171

Employee ViewModels .......................................................................................................................... 173

Additional ViewModels and Properties ................................................................................................. 184

Summary ....................................................................................................................... 187

Introduction to Commands ............................................................................................ 190

The Command Pattern .......................................................................................................................... 190

Command in WPF ................................................................................................................................. 191

Interactive Command, Listen for Changes ............................................................................................ 198

TimeTracker Commands ................................................................................................ 204

The EmployeeListView .......................................................................................................................... 204

Summary ....................................................................................................................... 208

Page 7: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Test Driven Development .............................................................................................. 209

Code Coverage. .................................................................................................................................... 210

TDD with MSTest . ................................................................................................................................ 212

Code Coverage with Visual Studio . ...................................................................................................... 216

TDD: the TimeTracker Application . ............................................................................... 219

Test the Business (Domain) Layer . ...................................................................................................... 220

Testing the Data Layer . ........................................................................................................................ 221

Testing the UI . ...................................................................................................................................... 223

Summary ....................................................................................................................... 225

SQL Server Reporting Services ..................................................................................... 228

Configure SQL Server Reporting Services ............................................................................................ 228

TimeTracker Reports . ................................................................................................... 231

First Report: EmployeeListReport . ....................................................................................................... 231

EmployeeDetailsReport . ...................................................................................................................... 237

Additional Reports . .............................................................................................................................. 241

Hosting the Reports in a WPF Control . .......................................................................... 241

Display the Report in a WPF View . ....................................................................................................... 242

Load a List of Employees Report . ........................................................................................................ 244

Load a Detailed Report . ....................................................................................................................... 246

Summary ....................................................................................................................... 248

ClickOnce Deployment .................................................................................................. 251

ClickOnce Security. .............................................................................................................................. 252

Page 8: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Publishing Options ......................................................................................................... 254

Updates ................................................................................................................................................ 254

Application Files and Prerequisites ...................................................................................................... 255

Additional Options ................................................................................................................................ 256

Deploy the TimeTracker Application .............................................................................. 257

Create a Temporary Certificate............................................................................................................. 258

Security ................................................................................................................................................ 259

Publish TimeTracker ............................................................................................................................. 259

Summary ....................................................................................................................... 260

Patterns for the UI .......................................................................................................... 261

Model View Presenter ........................................................................................................................... 262

Model View ViewModel ........................................................................................................................ 268

Summary ....................................................................................................................... 273

Writing Multithreading Code in .NET .............................................................................. 276

The Thread Object ................................................................................................................................ 276

Asynchronous Operations ..................................................................................................................... 280

The Task Object .................................................................................................................................... 283

The Background Worker Component .................................................................................................... 285

Summary ....................................................................................................................... 287

Introduction to WCF ....................................................................................................... 290

Brief Overview of WCF Architecture ..................................................................................................... 291

A Sample WCF Project ................................................................................................... 292

The WCF Test Client Utility ................................................................................................................... 294

Customize the Sample Service ............................................................................................................. 295

Page 9: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Test the Sample Service ....................................................................................................................... 300

Conclusion and Considerations ............................................................................................................ 304

Integrate WCF into the TimeTracker Application ........................................................... 304

WCF Data Service ................................................................................................................................. 304

Navigate the Data Using oData Queries ................................................................................................ 306

Integrate the WCF Data Service in WPF ................................................................................................ 307

WCF Security ................................................................................................................. 308

Security Requirements ......................................................................................................................... 309

Bindings ................................................................................................................................................ 309

Provide the Credentials ........................................................................................................................ 310

Authenticate and Authorize the Code ................................................................................................... 310

Summary ....................................................................................................................... 311

Page 10: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

About the Author

Page 11: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Acknowledgments

Page 12: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Contents at a Glance

Page 13: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Introduction

Page 14: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 15: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R 1

■ ■ ■

Introducing WPF and XAML

Page 16: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The XAML Syntax

Page 17: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 18: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Attribute Syntax

The TypeConverterAttribute

Page 19: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Property Element Syntax

Page 20: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Content Property

Page 21: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Events in XAML

Page 22: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Introduction to WPF

Page 23: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

UI Controls in WPF

Page 24: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Hello World Nr.1

Hello World Nr.2

Hello World Nr.3

Page 25: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 26: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Control Composition

Page 27: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 28: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Technologies

Page 29: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 30: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 31: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 32: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Visual Studio 2010

Page 33: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 34: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 35: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Expression Blend

Page 36: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Additional Tools

Page 37: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 38: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R 2

■ ■ ■

Sample Application: Overview and Getting Started

Requirements

Page 39: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 40: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Application Overview

Layered Applications

Page 41: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

N-tier Applications

Page 42: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 43: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 44: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

TimeTracker Architecture

Page 45: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 46: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 47: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 48: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Application Configuration

Layers in TimeTracker

Page 49: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Project name Project Type Folder Layer Type

Page 50: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 51: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 52: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

How WPF Uses the Resources

Page 53: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 54: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 55: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Microsoft Expression Blend

Overview

Page 56: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Hardware Minimum

Page 57: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Blend Workspace

Page 58: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 59: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 60: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Drawing

Page 61: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 62: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 63: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Animations

Page 64: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 65: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Styling and Templating Controls

Page 66: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 67: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 68: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 69: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Design-Time Data

Page 70: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 71: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

SketchFlow and the Mockups

Page 72: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 73: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Creating the Views

Overview

u

Page 74: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Creating a Mock-up and Prototyping

Page 75: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 76: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

Page 77: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

Dummy Data

1.

2.

3.

4.

5.

Page 78: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 79: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Behaviors for SketchFlow

1.

2.

3.

4.

Page 80: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 81: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 82: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The View Models

The INotifyPropertyChanged

Page 83: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 84: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

BaseViewModel

Page 85: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 86: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 87: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 88: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 89: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Navigation Between the Views

Page 90: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Custom Startup Process

Page 91: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Wrapping Up with IoC

Page 92: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 93: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 94: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 95: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 96: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 97: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 98: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Adding Controls to the Views

Resources and Styles

Page 99: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 100: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Embed Images in a Dictionary

Page 101: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 102: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Location Syntax Example

Basic Style Concepts

Page 103: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 104: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Triggers

Page 105: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Image Button

Page 106: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 107: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 108: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

WPF Themes

Creating the Views

Page 109: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Property Value Description

Page 110: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 111: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 112: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 113: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

User Controls

Page 114: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 115: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 116: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 117: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The DataGrid

Page 118: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Charts with WPF

Page 119: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Drag and Drop (Appointments Control)

Page 120: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 121: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Add Features to the Application

Page 122: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 123: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 124: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

The Entity Framework

Page 125: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 126: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 127: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Pros and Cons of the Active Record Pattern

Page 128: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Repository Pattern

Page 129: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 130: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Unit of Work

Page 131: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 132: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The TimeTracker Domain

Page 133: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Entity Framework

The Role Domain Entity

1.

2.

3.

4.

Page 134: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Autogenerated Code

Page 135: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 136: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 137: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 138: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Employee Domain Entity

Page 139: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Property name Type Nullable Max Length

The First Relationship, Role and Employee

Page 140: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

Property Value

Page 141: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Address Entity

Property name Type Nullable Max Length

Page 142: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Property Value

Page 143: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Contact Entity

Property name Type Nullable Max Length

Property Value

Page 144: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Generating the Database Schema

1.

2.

3.

The Customer Entity

Page 145: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Property name Type Nullable Max Length

The Appointment Entity

Property name Type Nullable Max Length

Page 146: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The TimeTracker Data Layer

Page 147: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 148: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 149: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Set Up the First Test Fixture

1.

2.

3.

4.

5.

Page 150: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

4.

Page 151: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Transaction Management

Page 152: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 153: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 154: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Add, Update, and Remove Objects

Page 155: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 156: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

n

Page 157: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 158: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 159: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 160: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 161: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Final Consideration for the Unit of Work

Page 162: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 163: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Add a New Role

u

Page 164: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Delete an Existing Role

Page 165: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Update an Existing Role

Page 166: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

GetAll Roles

Page 167: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Get a Role by Id

Page 168: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Additional Methods

Page 169: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 170: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Data Binding

WPF Data Binding Engine

Page 171: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 172: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 173: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 174: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 175: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 176: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 177: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 178: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 179: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 180: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 181: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Binding Syntax Description

Binding Path Description

Page 182: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Binding Path Description

ViewModels

Page 183: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 184: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

Page 185: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 186: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Employee Details

Page 187: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 188: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 189: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 190: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 191: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Employee List

Page 192: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 193: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 194: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 195: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 196: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 197: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 198: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 199: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Command Handling and Event Routing

Page 200: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Introduction to Commands

Page 201: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 202: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The RoutedCommand Class

Page 203: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 204: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 205: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Implement the ICommand Interface

Page 206: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 207: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 208: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 209: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 210: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 211: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 212: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 213: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 214: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

TimeTracker Commands

Page 215: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Search for an Employee

Page 216: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Select and Edit an Employee

Page 217: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Delete an Employee

Page 218: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Suggested Steps

Summary

Page 219: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Testing with TDD

Test Driven Development

Page 220: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 221: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

u

Page 222: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 223: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Calculator Example ➤ ➤

Page 224: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 225: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 226: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Available Tests

Page 227: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 228: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

Page 229: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

TDD: the TimeTracker Application

Page 230: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 231: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 232: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 233: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 234: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 235: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 236: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Reports with Microsoft Reporting Services

Page 237: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

SQL Server Reporting Services

➤ ➤ ➤ ➤

Page 238: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

4.

Page 239: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

5.

6.

7.

Page 240: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

TimeTracker Reports

➤ ➤

Page 241: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Create a DataSource

Page 242: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Create the Dataset

Page 243: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 244: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 245: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Design the Report

➤ ➤

Page 246: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

Page 247: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Create a Query with a Parameter

Page 248: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Create the Details

Page 249: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

4.

Page 250: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Hosting the Reports in a WPF Control

Page 251: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 252: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 253: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 254: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 255: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 256: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 257: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 258: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 259: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Deploy the Application Using ClickOnce

ClickOnce Deployment

Page 260: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Certificates and Authenticode

➤ ➤ ➤ ➤

Page 261: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Code Access Security

Page 262: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Publishing Options

Page 263: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 264: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 265: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Deploy the TimeTracker Application

Page 266: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 267: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

➤ ➤

Page 268: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 269: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R 2

■ ■ ■

Design Patterns in WPF

Patterns for the UI

Page 270: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 271: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 272: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 273: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 274: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 275: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 276: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

When to Use the MVP

Page 277: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 278: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 279: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 280: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Exposing the Commands

Page 281: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 282: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

WPF and Multithreading

Page 283: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Writing Multithreading Code in .NET

Page 284: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 285: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 286: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Interacting with the Thread class

Page 287: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 288: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 289: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

1.

2.

3.

4.

The ThreadPool Component

Page 290: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 291: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 292: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 293: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 294: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 295: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 296: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

C H A P T E R

■ ■ ■

Interacting with WCF

Page 297: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Introduction to WCF

Page 298: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans
Page 299: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

The Service and the Client

A Sample WCF Project

➤ ➤

Page 300: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 301: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 302: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 303: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Working with DataContracts

Page 304: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Add Methods to the Service

Page 305: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 306: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Customize the Way the Service Will Behave

Page 307: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 308: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Add Service Reference

Page 309: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Test the Endpoint

Page 310: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 311: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Integrate WCF into the TimeTracker Application

Page 312: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 313: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 314: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 315: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

WCF Security

Page 316: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 317: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 318: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Summary

Page 319: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 320: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Index

■A

Page 321: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 322: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■C

Page 323: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 324: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 325: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 326: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■E

Page 327: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 328: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■H

Page 329: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 330: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 331: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 332: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■P

Page 333: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■R

Page 334: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 335: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 336: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 337: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

■T

Page 338: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 339: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 340: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 341: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 342: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans

Page 343: !PPLIED70& IN#ONTEXTphilkildea.co.uk/james/books/Applied WPF 4 in Context.pdf · !pplied70& in#ontext #opyrightÚ by2affaele'arofalo!llrightsreserved .opartofthisworkmaybereproducedortransmittedinanyformorbyanymeans