Index

A

Advanced data binding

BindingExpression object, 398

commands

CanExecute property, 408

CommandParameter, 408, 409

DelegateCommand, 410411

Execute method, 409

ICommand interface, 407, 408

InvokeCommandAction, 408

SelectedItem property, 409

TestCommand command, 409

data sources tool, 402403

DataContext property, 379

debugging issues

breakpoints, 404406

data binding errors, 404

troubleshooting tips, 406407

dynamic properties

CustomTypeHelper class, 390

ICustomTypeProvider interface, 389

INotifyPropertyChanged interface, 390

SetPropertyValue method, 390

ElementName, 380381

enhancing

fallback values, 392

StringFormat property, 390392

TargetNullValue property, 392

GetBindingExpression and SetBinding methods, 398

getting and setting, 398

IDataErrorInfo interface, 379

indexed properties, 389

INotifyPropertyChanged interface, 379

multibinding, 397

name property, 398

nested properties, 388

ObservableCollection<T>, 379

ParentBinding and DataItem, 398

relativesource

control property, 384

DataContext property detection, 384385

FindAncestor mode, 382383

Self Mode, 382

TemplatedParent mode, 382

XAML view code, 385386

source property, 380

syntax element, 397

UpdateSourceTrigger property

Binding object, 392

explicit mode, 393

IEditableObject interface, 393

PropertyChanged mode, 393

value converters

application object, 395

Convert method, 394

ConvertBack method, 394

ConverterParameter property, 395396

CultureInfo object, 396

generic enumeration-to-Boolean value, 395

language-culture property, 396

MVVM design pattern, 397

staticResource markup extension, 395

StringFormat property, 395

value parameter, 397

visibility enumeration, 394

visibility property, 394

visual studio

design-time data property, 401

menu item,data binding, 399

miscellaneous, 402

opening menu, 399

PagedEntityCollectionView, 401

RegistrationData objects, 401

selection, 400

value converter, 401

Advanced data binding (continued)

XAML instantiate classes

control property, 388

creation, 386387

defining resources, 388

resource, 387

AdventureWorks database, 94, 189

Animations, 327, 342

Application deployment

client

cached XAP file, 633634

desktop installer, 631632

enterprise environments, 631

installation experience, 628631

installation process, 626627

Default Loading Screen (see Default Application Loading Screen)

digitally signing

code-signing certificate, 651

key reasons, 650651

XAP file, 652655

partition

assembly caching, 641

downloading modules, 644

.xap.file, 640

server

cross-domain policy file, 623

operating system and web server, 622

primary options, 621

RIA services, 622

setup program creation, 625626

visual studio, 624625

Web Package, 625

Xcopy, 623

ASP.NET Configuration tool, 306

ASP.NET Development Server, 181

ASP.NET DomainDataSource, 147

ASP.NET Membership, 324

AsyncCallback object, 151

Asynchronous programming, 151

AutoCompleteBox control, 264265

B

Blacklight, 3

BlurEffect, 343

Bootstrapper, 325

Bound CheckBox control, 256

Bound TextBox control, 255

BusyIndicator control

advantage, 231

customizing, 232

DisplayAfter property, 233

displaying, 231

modal behavior, 233

user login and registration functions, 231

C

Caching data

client-side database, 587

commercial options, 589

local database engines, 589

Sharp HSql, 588

Silverlight database, 588

SQLite, 588

sterling, 588

isolated storage

application store, 578

compressing data, 587

disk space quota, 585586

encrypting data, 586

Microsoft Sync Framework, 587

site store, 578

storing files in, 581584

storing settings, 578580

virtual file system, 578

network connection availability, 589590

occasionally connected applications, 577

Calendar control, 260

Client-side database, 587

commercial options, 589

local database engines, 589

Sharp HSql, 588

Silverlight database, 588

SQLite, 588

sterling, 588

Client-side query operators, 167

Client-side security

client-side restrictions, 318319

data storing, 320

Login dialog, 315

new user registeration, 317

Register dialog, 315

server authentication, 316

user information, accessing and updating, 317318

workshop, 320322

Clipboard, 599600

CodePlex project, 189

ComboBox control, 257259

ComponentOne C1ReportViewer, 525

Content controls

attached properties, 459460

button control, 455

CollectionChanged event, 458

content control, 458

content property, 455, 457, 458

ContentPresenter, 455456

GroupBox control, 455, 457

multiple controls,content, 457

Control templates, 328

apply to all option, 336

default control templates, 336

Edit Control Parts, 336

Expression Blend, 336

structuring

state transitions, 339

template parts, 340

visual states, 338340

style property, 337

template property, 337

Cross-domain access policies

Adobe Flash's, 180

ASP.NET Development Server, 181

HTTP-based communication, 181182

Silverlight runtime, 180

socket-based communication, 182

Cross-scheme access policies, 182

Custom controls

base state,elements/controls, 439

base state,generic.xaml file, 439

behavior

contract, 449450

default control template, 450451

definition, 448

events handling, 451

testing, 454

transition, 452

WaitIndicator control, 454

class library structure, 436

creating/editing, 438

Silverlight toolkit, 435

structure, 436438

templates, 438

third-party controls, 435

visual state groups and organizing

active, 441

active implementing, 444445

generic.xaml file splitting, 448

identification, 440

implementing,inactive, 443

inactive, 441

indentification, 440

RelativeSource Markup extension, 447

state transition animations, 446447

static implementing, 443

TemplateBinding Markup extension, 447

VisualState element, 442

VisualStateManager, 442

XAML template, 442443

WaitIndicator behavior, 45254

WaitIndicator control, 435

XAML designer, 438

D

Data encryption, 322

Data entry forms, 241

Data validation (see Data validation)

master/details screen, 298300

object structure

Changed method, 281

class, new property addition, 281

IEditableObject interface (see IEditableObject Interface)

INotifyPropertyChanged interface (see INotifyPropertyChanged interface)

LineTotal property's value, 281

RIA Services entities, 274

user interface (see User interface)

Data input controls

AutoCompleteBox control, 264265

Calendar control, 260

CheckBox control, 256

ComboBox control, 257259

DatePicker control, 261

DomainUpDown control, 263264

Label control, 265

ListBox control, 259

NumericUpDown control, 263

RadioButton control, 257

Silverlight SDK, 260

Data input controls (continued)

TextBox control, 255256

TimePicker control, 262

TimeUpDown control, 261262

Data validation

client-side entities, 281

complex validation rules, 297

default error messages, 297

entities/objects

errors, 286

exception, 287

IDataErrorInfo interface, 288290

INotifyDataErrorInfo interface, 286, 290292

Silverlight, 286

errors, 282

data entry controls, 282

DataForm control, 283, 284

DataGrid control, 284

ValidationSummary control, 282283

object-level validation errors, 292

objects validation, 296297

properties validation, 293295

RIA Services, 293

rules definition, 285286

types, 284285

view's code behind, 292293

DataGridCell control, 191

DataPager control, 167

DatePicker control, 261

Default application loading screen

animation, 634

application preloader

custom preloader, 634635

designing, 636637

files creation, 635636

HTML file configuration, 638

testing, 639640

updation, 637638

XAML file, 634

Designer/developer workflow, 327329

DevExpress, 524

DomainDataSource control, 167, 228

DomainUpDown control, 263264

DomainValidator controls, 147

Drag-and-Drop target, 597598

DropShadowEffect, 343

E

Elevated trust

additional OOB window creation, 617618

COM automation

automating office applications, 613

availability, 610

COM components, 610612

component creation and installation, 616

handling events, 614

high-profile Windows applications, 610

local databases, 614615

local hardware devices, 615

reading and writing, 613

Windows Script Host component, 612

custom chrome

OOB applications, 618619

window DragMove method, 619

window resizing, 620

enabling/disabling, 621

file system, 606

Appending Text, 609

copying and moving, 609

data reading, 608

data saving, 609

deletion, 609

directories enumeration, 607608

folder attributes assessment, 610

GetFolderPath method, 606

new folder creation, 609

inside the browser, 604606

in OBB mode, 603604

Platform Invoke, 616617

restrictions, 603, 620621

Expression Blend, 2, 327328

Extensible Application Markup Language (XAML), 347

ASP.NET project, 24

attribute comments, 348349

attached properties, 3233

base control classes

content control, 40

Control class, 40

dependency property, 40

FrameworkElement, 40

inheritance hierarchy, 39

UIElement, 40

behaviors

Asset Library, 360

click/submit changes, 364

creation and usage, 361363

definition, 360

drag-and-drop operation, 364

blendability

data shape definition, 373374

definition, 373

design-time data mechanisms, 373

sample data, 374375

Button control, 351

collection syntax, 3132

consolidated namespaces creation, 375376

constants, definition, 349350

control element, 29

attribute syntax, 29

content element syntax, 30

property element syntax, 31

core XAML syntax, 2526

custom action

creation, 358359

custom SubmitChangesAction action, 359

default trigger, 360

generic CallMethodAction action, 358

custom markup extensions

advanced behavior, 368369

binding class and set property, 366

creation, 369371

GetService method, 366

IMarkupExtension<T> interface, 365366

IProvideValueTarget, 367

IRootObjectProvider, 367

IXamlTypeResolver, 367368

ProvideValue method, 365

Silverlight, 364

static field/property, 371372

System.Windows.Markup namespace, 365

custom triggers

Click event, 355

creation, 355357

dependency properties, 358

EventTrigger trigger, 357

data binding

collection, 6566

object, 6265

source, 4344

visual interpretation, 60

designer/developer workflow, 67

design-time properties, 3536

DomainDataSource control, 351

elements comment, 348

Event Handlers

Button control, 50

in code, 51

Expression Blend, 51

routed vs. direct events, 51

Visual Studio, 50

Expression Blend, 24, 347

files, 16

App.xaml, 16

Assets folder, 18

Controls folder, 18

Helpers folder, 18

Libs folder, 18

MainPage.xaml, 17

Models folder, 19

Views folder, 17

Web folder, 19

Formatter, 377

grid control

automatic sizing, 4546

fixed-width sizing, 4445

rows and columns, 42

The TextBlock and Button control, 4647

UserControl, 42

visual studio designer, 43

weighted proportion sizing, 4344

IntelliSense Presenter, 377

instantiate classes

control property, 388

creation, 386387

defining resources, 388

resource, 387

issues, 24

label control, 347

layout control

canvas, 4142

DockPanel, 4849

grids (see Grid control, XAML)

positioning, 41

StackPanel control, 47

WrapPanel, 4849

markup compatibility namespace property, 347

markup extensions, 3637

MoXAML Power Toys, 376377

namescopes, 3739

namespaces, 2729, 34

x:Class, 34

x:ClassModifier and, 35

x:FieldModifier, 35

x:Key, 34

x:Name, 34

Extensible Application Markup Language (XAML) (continued)

nesting comments, 349

object hierarchy creation, 2627

OR operator, 350

Power Toys

add-in's Create Business Form, class dialog, 244

configuration control, 245

drag and drop properties, 245

menu, 244

regions, 377

resource

definition, 55

dictionary, 5657

styles, 58

UserControl, 56

simple user interface, 5255

styler, 377

SubmitChanges method, 351

templates, 59

triggers and actions

advantage and disadvantage, 352

assembly references, 351

expression blend, 352353

generic solution implementation, 352

implementation, 354355

predefined function, 351

UserControl element, 347

user experience design, 6667

user interface design, 67

view code, 385386

Visual Studio Gallery, 377

vs. Windows Forms Controls' Property Names, 50

XML, 23

F

File system, 590

open file dialog, 590591

file filtering, 592

multiple file selection, 594

opening and reading, 592594

ShowDialog method, 591

save file dialog, 595

default name, 596

DefaultExt property, 596

display, 595

writing, 596597

FloatingWindow control, 92

FocusVisual, 191

ForceVector property, 528

G

GetBindingExpression and SetBinding methods, 398

GifConverter, 190

Global Assembly Cache (GAC), 622

GrapeCity ActiveReports, 525

Grid control, XAML

automatic sizing, 4546

fixed-width sizing, 4445

rows and columns, 42

The TextBlock and Button control, 4647

UserControl, 42

visual studio designer, 43

weighted proportion sizing, 4344

H

HtmlViewer Control, 544

HTML Bridge, 545

IFrame, 546

content loading, 549550

creation, 546547

destroying, 550

positioning and sizing, 547549

WebBrowser control, 550

windowless mode, 546548

Product Catalog report, 551553

WebBrowser control, 544545

HTTP polling duplex, 149

HTTP requests, 178180

HyperText Markup Language (HTML), 23

I

Icons and images, 342

IEditableCollectionView interface, 203

IEditableObject Interface

BeginEdit method, 278

CancelEdit method, 279280

DataForm's AutoCommit property, 280

EndEdit method, 279

start/complete-type transaction, 278

IFrame, 546

content loading, 549550

creation, 546547

destroying, 550

positioning and sizing, 547549

WebBrowser control, 550

windowless mode, 546548

IDataErrorInfo interface

ImageTools, 189

Infragistics NetAdvantage Reporting, 525

INotifyPropertyChanged interface

Debug Mode, 276

implementation, magic strings, 275

lambda expressions, 277

Notify Property Weaver, 277278

OnPropertyChanged method, 276

PropertyChanged event, 274

IsSynchronizedWithCurrentItem property, 239

ItemsSource property, 194

J, K

JavaScript Beautifier, 16

jQuery Support, 147

JSON Endpoint, 147

L

Label control, 265

LinqToSqlDomainService, 147

Login method, 317

M

Managed Extensibility Framework (MEF), 501, 645650

AggregateCatalog, 510, 516518

AssemblyCatalog, 509

catalog, 502

composing

CompositionInitializer Class, 506

CompositionInitializer.SatisfyImports method, 507

manual configuring, 506

System.ComponentModel.Composition, 506

composition container, 502

contract, 502

contract specification, 514515

DeploymentCatalog, 510, 517, 518

exporting Parts, 503

exports and imports, 502

importing parts

multiple parts, 505

single Part, 504

lazy imports, 508

lifetime parts, 507508

ListBox control, 518

MainPage class, 519

Module1.xap files, 520

multiple parts importing, 515516

new export instances, 509

parts, 502

System.ComponentModel.Composition, 511513

TypeCatalog, 509

Microsoft Sync Framework web site, 587

MindFusion reporting, 525

Model-View-ViewModel (MVVM), 328, 397, 461

add/remove items, 482

BeginEdit method, 485

benefits, 462

Boolean value, 485

ChildWindow/Dialog,close, 491492

ChildWindow/Dialog,show, 490491

control property, 481

ControlStoryboardAction, 488

CurrentProduct property, 484

enable/disable controls, 482

events handling, 485

frameworks

Caliburn Micro, 479

Cinch, 479

class diagram, 480

INotifyPropertyChanged and INotifyDataErrorInfo interfaces, 480

INotifyPropertyChanged interface, 479

Jounce, 479

MVVM Light toolkit, 479

nRoute, 479

Prism, 479

Silverlight.FX, 479

Simple MVVM Toolkit, 479

ViewModelBase class, 480

GoToStateAction, 488

IEditableObject interface, 485

implement dependency/standard properties, 495

Model-View-ViewModel (MVVM) (continued)

IsBusy property, 486

IsSynchronizedWithCurrentItem property, 484

ItemsSource and SelectedItem properties, 483

layers

BeginLogin(object param), 474

CallMethodAction action, 468

command property, 468

common relationships, 464

data, 467

DelegateCommand, 473

ErrorsChanged events, 468

INotifyDataErrorInfo interface, 472

INotifyPropertyChanged interface, 472

interactions, 469, 470

LoginView View creation, 471472

method vs. commands, 469

Model creation, 472

models, 465

Models-ViewModels connection, 466

operations, 468

PropertyChanged event, 473

strict relationships, 463

three-tier pattern, 463

view and ViewModel interaction, 467

View handling notifications, 469

ViewModels, 465

ViewModel-View connection, 466467, 474475

views, 464465

View-ViewModel communication (see View-ViewModel communication)

LoginSuccessAction action, 486

LoginSuccessful event, 486

message box, 487488

navigation

LoginSuccessful event, 490

NavigationService object, 489

UIController object, 490

NewRecordStarted, 486

ObservableCollection, 484

PagedCollectionView, 484, 485

Product object, 488

RIA services, 494495

SelectedItem property, 483, 484

SelectedValuePath and SelectedValue properties, 484

SetFocusAction action, 486

show/hide controls, 482

support, 147

TargetedTriggerAction<T>, 487

validation error, 482

View/ViewModel

decoupled completely, 497

View first, 496497

ViewModel first, 497

ViewModel serving multiple views, 497

View-multiple ViewModels interacting, 498

ViewModels,design time, 493494

Multiple document interface (MDI), 92

N

Navigation framework

application shell, 70

back and Forward buttons, 70

browser history, 8081

Caliburn, 92

ClientUI Framework, 92

custom content loaders, 91

data passing, 7577

deep links, 77

FloatingWindow control, 92

Frame control, 71, 7374

frame events, 82

home and about buttons, 70

HyperlinkButton control, 74

MainPage.xaml file, 70

NavigationContext Object, 72

NavigationService Object, 72, 74

nRoute Framework, 92

Page class, 71

Prism, 92

project structure, 70

query string, 7577

Silverlight.FX, 92

source property, 75

URI, 7273, 7880

user interface, 70

user-initiated navigation, 75

view events, 83

visual transition effects, 8991

workshop

new view creation, 8486

query string parameter, 87, 88

UriMapper property, 88

.NET Reflector, 336

Net.tcp mechanism, 149

NumericUpDown control, 263

O

Object-relational mapper (ORM), 94

OpacityThreshold property, 529

Out-of-browser (OOB) mode

benefits, 566

caching data (see Caching data)

clipboard, 599600

configuration

enable running application, 566

GPU acceleration, 568

install options, 568

settings, 566567

window options, 567

debugging, 574

drag-and-drop target, 597598

elevated trust (see Elevated trust)

file system (see File system)

full-screen mode

FullScreenChanged event, 601

initiation, 600

keyboard access, 602

retaining, 601602

installation

click and loaded event, 569

code, 569

install application dialog, 570

Silverlight context menu item, 568

status determination, 570

interaction, 571

closing event, 572

TopMost property, 572573

updates checking, 573574

window state, position and dimensions, 572

Toast notifications

Close method, 577

Content property, 576

NotificationWindow class, 576

simple notification window, 576

uninstallation, 575

.xap file, 571

P, Q

PDF report generation

on client (see HtmlViewer Control)

on server

output format, 535536

serve reports, 536543

tool/engine, 533535

PivotViewer control, 553

additional information, 560

configuration

collection of objects, 558560

CXML file, 557, 560

data grouping, 555556

data item viewing details, 556557

features

filtered data, 554

sorted data, 555

implementation, 560561

item adorner, trading cards, 561562

saving and restoring, 560

Silverlight 4 vs. Silverlight 5, 557

uses, 560

Pixel shaders and effects, 343

Printing reports

implementation, 522

HTML generation, 523

office documents generation, 523

PDF generation, 523

significance, 521

Silverlight's printing functionality, 522

third-party report viewers (see Third-party reporting solutions)

office integration, COM, 526

ProductListViewModel, 207

R

RadioButton control, 257

RIA services

changes submission

change tracking, 172173

concurrency violation handling, 177178

domain context, 174175

DomainDataSource Control, 173174

submit error handling, 175177

data consuming

domain context class, 163166

DomainDataSource control, 160163

domain service host, 169170

generated code inspection

AdventureWorks.Web.g.cs file, 158

code customization, 159

domain context classes, 158

entity/model classes, 159

Silverlight project, 157

WebContext Class, 159

RIA services (continued)

load error handling, 170172

query criteria

client-side query operators, 167

declarative query expression, 169

DomainDataSource control, 167

IQueryable<T> expression, 167

lambda expressions, 168

LINQ query, 167

XAML-based approach, 166, 167

RowDetailsTemplate property, 238

S

Scalable Vector Graphics (SVG), 23

Server-side security

ASP.NET membership, 302303

AuthorizationAttribute, 306

AuthorizationContext property, 307

custom user profile data exposing, 308

database configuring, 311313

errors sanitizing, 310

forms authentication, 303

IsAuthorized method, 307

RequiresAuthentication attribute, 305

RequiresRole attribute, 306

security function types, 301302

SQL injection, 310

subset of data returning, 307

update/delete operations, 308

UserRegistrationService and ProductService domain services restriction, 313314

users registration, 309310

Sharp HSql, 588

Silverlight 3, 69

Silverlight Business Application project, 70, 306

Silverlight

basic application, 8

About page, 8

BusyIndicator control, 9, 10

Home page, 8

Login window, 8

Register window, 8, 9

client application, 316

custom controls, 335

data validation, 286

initial structure

Business Application Project, 1011

linked resource files, 14

RIA Services Link, 1214

Silverlight application (see XAML files)

Silverlight Application Link, 12

Web Application project, 10

web project structure, 1416

printing functionality, 527

advanced print settings, 528

printing mechanism, 527

PrintPage event, 528

report creation in code, 555556

screen printing, 529530

templates, 4

business applications, 5

class library project, 5

modifications, 1920

navigation framework, 5

Silverlight Application, 5

Unit Test Application, 6

WCF RIA Services Class Library, 6

TextBox control, 255256

tools

Expression Blend, 2

.NET Reflector, 4

silverlightspy, 4

SketchFlow, 2

SQL Server 2008 R2 Express Edition, 3

toolkit, 3, 435

Visual Studio, 1

WCF RIA Services, 3

Web PI, 1

XAP files, 2021, 323

SilverlightFaultBehavior attribute, 97, 98

SketchFlow, 2, 67

SOAP Endpoint, 147

Sockets, 149

Solution Explorer window, 623

Spaghetti XAML code, 329

SQLite, 588

Stimulsoft reports, 525

Style resources

advantages, 329

attribute syntax, 329

complex property values storing, 333

control style definition, 345

control default style restoration, 345

CSS styles, 329

definition, 329

explicit styles, 330

implicit styles, 329331

inheriting, 334

naming, 333

object hierarchy

application level, 331

control level, 331

generic.xaml, 333

resource dictionary, 331333

view level, 331

style setters, 345346

styling constraints, 335

TextBox controls, 329

XAML, 344, 345

Summary lists

collection view

data binding concept, 202

DomainCollectionView, 204206

DomainDataSourceView collection View, 204

IEditableCollectionView interface, 203

ListCollectionView/ EnumerableCollectionView, 203204

PagedCollectionView, 204

CollectionViewSource/PagedCollectionView approach, 213

creation

AutoGenerateColumns property, 186

BitmapImage, 189

calculated column, 190

CellEditingTemplate property, 187

CellTemplate property, 187

CodePlex project, 189

column definitions, 188

column reordering, 192

column resizing, 191

DataGrid control, 186, 187, 192193, 200

DataGridCheckBoxColumn, 187

DataGridTemplateColumn, 187

DataGridTextColumn, 187, 188

FocusVisual, 191

GifConverter, 190

grouping, 191

Image control, 189

implicit data templates, 195196

ItemsPanelTemplate property, 197

ItemTemplate property, 197198

IValueConverter interface, 189

list item templating, 194195

ListBox control, 193, 197, 199201

NumericUpDown control, 187

RowDetailsTemplate property, 192

ScrollViewer.HorizontalScrollBarVisibility property, 198

sorting, 191

System.Windows.Controls.Data.dll assembly, 186

template column, 190

TextBlock control, 187

thumbnail image, 189

validation rules, 192

WrapPanel control, 197

DomainDataSource control, 206, 213

drill-down approach, 185

filtering

CollectionViewSource approach, 215, 216

DomainCollectionView approach, 218, 219

DomainDataSource approach, 214215

PagedCollectionView approach, 216218

product name, 213

grouping

built-in grouping functionality, 222

CollectionViewSource approach, 223

DomainCollectionView approach, 224

DomainDataSource approach, 222223

PagedCollectionView approach, 223

ObservableCollection<T> type, 202

paging

CollectionViewSource approach, 228

DataPager control, 225226

DomainCollectionView approach, 228231

DomainDataSource approach, 227

IsTotalItemCountFixed property, 225

namespace prefix, 226

PagedCollectionView approach, 228

skip method, 225

record, drilling down

child window, 235237

double-click behavior, 234

HyperlinkButton, 234

master/details view, 238239

NavigateUri property, 234

navigation Framework, 233

row details feature, 237238

sorting

CollectionViewSource approach, 220

DomainCollectionView approach, 221

DomainDataSource approach, 219

PagedCollectionView approach, 221

view model class

CollectionViewSource class, 209

creating and binding, 207209

DomainCollectionView, 211212

Summary lists (continued)

view model class (continued)

PagedCollectionView, 210211

ProductListViewModel, 207

T

T4 templates, 147

Telerik Reporting, 524

TextBox control, 335

Theming, 340, 341

Third-party reporting solutions, 524

Aspose converter, 526

ComponentOne, 525

DevExpress, 524

First Floor Software, 526

GrapeCity, 525

Infragistics, 525

MindFusion, 525

Perpetuum Software, 524

Stimulsoft reports, 525

Telerik reporting, 524

Three-state check box, 256

ThumbnailPhoto property, 190

TimePicker Control, 262

TimeUpDown control, 261, 262

U

Uniform resource identifier (URI), 7273

mapping, 7880

UpdateSourceTrigger property

Binding object, 392

explicit mode, 393

IEditableObject interface, 393

PropertyChanged mode, 393

User authorization, 301

User controls

dependency properties

animation, 427

CLR property wrapper, 424425

concept, 422

creation, 427

default value, 427

FormField control, 427429

getting and setting method, 423

GetValue method, 424

implementing standard properties, 422

INotifyPropertyChanged implementation, 427

INotifyPropertyChanged interface, 422

ISupportInitialize interface, 432

local value, 427, 429

metadata, 425426

propdp snippet, 428

registering, 423

resetting value, 430

SetValue methods, 424

Silverlight, 422

style, 427

template, 427

type converters, 430432

WPF developers, 422

design-time or runtime mode, 434

exposing events, 433

exposing methods, 433

exposing properties, 416

label and a text box, 415

presentation layer

consuming properties, 420421

implementing standard properties, 418420

push and pull methods, 417

push value, presentation layer, 417

size, 434

XAML designer, formfield control, 415

User interface

data input controls (see Data input controls)

data sources window

control types selection, 243

DataContext property, 243

DataGrid, 241

DomainDataSource control, 243

entity generation, 241

field and label creation, 242

Dataform control, 247

AutoEdit and AutoCommit Properties, 253

benefits, 249, 250

Cancel button, 253

CurrentItem property, 246

custom edit template, 251

dataFormToolkit namespace prefix, 252

display attribute, 248

DomainDataSource control, 246

EditTemplate property, 251

explicitly defined fields, 250

FormView and DetailsView controls, 250

header customization, 253254

input control, 251

label position, 252

Label/TextBlock control, 251

layout issues, 248

presentation-related attributes, 249

resource files, 249

still-limited control, 249

toolkit namespace prefix, 246

unbound data entry scenarios, 246

DataGrid

adding and deleting rows, 269270

column configuration, 269

delete button, 273

DropDown lists implementation, 273274

empty row, new record entry, 271272

form-based layout, 268

row insertion, 270

selected rows deletion, 272273

spreadsheet-like editing, 271

focused control, 268

grid control, 241

HasChanges property, 268

Silverlight, 241

tab order, 265

focus method, 266268

IsTabStop property, 266

TabIndex property, 265

TabNavigation property, 266

XAML Power Toys

add-in's Create Business Form, class dialog, 244

configuration control, 245

drag and drop properties, 245

menu, 244

UserRegistrationContext class, 316

V

View-ViewModel communication, 492

command,login operation, 476

data consuming, 475

login operation,method, 476477

LoginSuccessful event, 477479

Visual Studio 2010, 377

W

WCF RIA services

authentication/authorization management, 102

basicHttpBinding, 98

bindings, 96

code and business object sharing, 99

code generator, 102, 104106

code sharing, 104

communication functionality, 96

communications mechanism, 103

contract, 96

contrib project, 148

CRUD pattern, 104

customBinding, 99

data access layer, 9495

data management, 102

data services, 148149

data validation rules, 104

data-centric design pattern, 102

decorating entities

Association attribute, 126

client entity generation control, 117

Composition attribute, 126

ConcurrencyCheck attribute, 126

custom class validation attributes, 124

custom property validation attributes, 121123

data annotations, 116

display attribute, 125

Editable attribute, 125

Key attribute, 125

KnownType attribute, 126

metadata classes, 117

predefined validation attributes, 120121

presentation tier, 125

RoundtripOriginal attribute, 126

Timestamp attribute, 126

validation rules, 116

disadvantage, 102

domain context, 104

domain operation

Add New Domain Service Class wizard, 111

custom operations, 116

insert/update/delete operations, 113115

invoke operations, 115

query operations, 111

domain services, 104

Available DataContexts/ ObjectContexts, 109

Class wizard dialog, 108

Enable client access, 109

entity list, 109

Expose OData endpoint, 109

Generate associated classes for metadata, 109110

WCF RIA services (continued)

domain services (continued)

ProductService Domain Service, 110

snippets, 110

duplex communication, 149150

end-to-end technology, 103

entity framework model, 100

framework portion, 103

item template

binary-encoding messages, 97

browser networking stack, 97

code, 97

custom binding, 96

custom endpoint behavior, 98

HTTP status code, 98

IncludeExceptionDetailInFaults attribute, 98

ProductService.svc, 96

SilverlightFaultBehavior attribute, 9798

wsHttpBinding, 96

link creation, 106107

metadata classes, 104

.NET applications, 93

netTcpBinding, 98

pollingDuplexHttpBinding, 98

presentation model types

association attribute, 135

auto-generated property values, 133134

code file sharing, 135136

concurrency violations, 141146

Controlling Client Entity Generation section, 134

data transfer objects (DTO), 127

Delete operation, 133

error handling, 141

exposing process, 127

Insert operation, 132

logic encapsulation, 137141

populating and exposing, 130131

product entity, 144

ProductInventory collection, 134

ProductSummary object, 132

ResolveConflicts method, 146

transactions, 146

Update operation, 133

workshop, 128129

querying features, 102

service address, 96

Silverlight and Web project links, 103

toolkit, 147

unified communication layer, 96

WCF services

ASP.NET session state, 156

data querying

Add Service Reference window, 153

address points, 154

AdventureWorks solution, 152

asynchronous methods, 152

ChannelFactory class, 152

DataGrid control, 154, 155

discover button, 152

endpoints, 154

generic System.ServiceModel.ClientBase class, 152

GetProducts method, 152

GetProductsAsync method, 155

ProductService.svc service, 152

service reference proxy generator, 152

ServiceReferences.ClientConfig, 153, 156

System.Windows.Controls.Data.dll assembly, 154

URL configuration, 156

WCFServiceTestView.xaml, 154

XAML, 154

maximum message size, 156

Windows Azure, 147, 622

Windows Image Acquisition (WIA) platform, 615

Windows Presentation Foundation (WPF), 23, 71

X, Y, Z

XML Paper Specification (XPS), 23

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset