Advanced data binding
BindingExpression object, 398
commands
CanExecute property, 408
Execute method, 409
InvokeCommandAction, 408
SelectedItem property, 409
TestCommand command, 409
DataContext property, 379
debugging issues
data binding errors, 404
dynamic properties
CustomTypeHelper class, 390
ICustomTypeProvider interface, 389
INotifyPropertyChanged interface, 390
SetPropertyValue method, 390
enhancing
fallback values, 392
StringFormat property, 390–392
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, 384–385
Self Mode, 382
TemplatedParent mode, 382
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, 395–396
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
defining resources, 388
resource, 387
AdventureWorks database, 94, 189
Application deployment
client
enterprise environments, 631
installation experience, 628–631
Default Loading Screen (see Default Application Loading Screen)
digitally signing
code-signing certificate, 651
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, 625–626
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, 264–265
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
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
encrypting data, 586
Microsoft Sync Framework, 587
site store, 578
virtual file system, 578
network connection availability, 589–590
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, 318–319
data storing, 320
Login dialog, 315
new user registeration, 317
Register dialog, 315
server authentication, 316
user information, accessing and updating, 317–318
CodePlex project, 189
ComponentOne C1ReportViewer, 525
Content controls
button control, 455
CollectionChanged event, 458
content control, 458
content property, 455, 457, 458
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
style property, 337
template property, 337
Cross-domain access policies
Adobe Flash's, 180
ASP.NET Development Server, 181
HTTP-based communication, 181–182
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
default control template, 450–451
definition, 448
events handling, 451
testing, 454
transition, 452
WaitIndicator control, 454
class library structure, 436
creating/editing, 438
Silverlight toolkit, 435
templates, 438
third-party controls, 435
visual state groups and organizing
active, 441
generic.xaml file splitting, 448
identification, 440
implementing,inactive, 443
inactive, 441
indentification, 440
RelativeSource Markup extension, 447
state transition animations, 446–447
static implementing, 443
TemplateBinding Markup extension, 447
VisualState element, 442
VisualStateManager, 442
WaitIndicator behavior, 452–54
WaitIndicator control, 435
XAML designer, 438
Data encryption, 322
Data entry forms, 241
Data validation (see Data validation)
master/details screen, 298–300
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, 264–265
Calendar control, 260
CheckBox control, 256
DatePicker control, 261
Label control, 265
ListBox control, 259
NumericUpDown control, 263
RadioButton control, 257
Silverlight SDK, 260
Data input controls (continued)
TimePicker control, 262
Data validation
client-side entities, 281
complex validation rules, 297
default error messages, 297
entities/objects
errors, 286
exception, 287
IDataErrorInfo interface, 288–290
INotifyDataErrorInfo interface, 286, 290–292
Silverlight, 286
errors, 282
data entry controls, 282
DataGrid control, 284
ValidationSummary control, 282–283
object-level validation errors, 292
properties validation, 293–295
RIA Services, 293
DataGridCell control, 191
DataPager control, 167
DatePicker control, 261
Default application loading screen
animation, 634
application preloader
HTML file configuration, 638
XAML file, 634
Designer/developer workflow, 327–329
DevExpress, 524
DomainDataSource control, 167, 228
DomainValidator controls, 147
DropShadowEffect, 343
Elevated trust
additional OOB window creation, 617–618
COM automation
automating office applications, 613
availability, 610
component creation and installation, 616
handling events, 614
high-profile Windows applications, 610
local hardware devices, 615
reading and writing, 613
Windows Script Host component, 612
custom chrome
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, 607–608
folder attributes assessment, 610
GetFolderPath method, 606
new folder creation, 609
Extensible Application Markup Language (XAML), 347
ASP.NET project, 24
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
definition, 360
drag-and-drop operation, 364
blendability
data shape definition, 373–374
definition, 373
design-time data mechanisms, 373
Button control, 351
consolidated namespaces creation, 375–376
constants, definition, 349–350
control element, 29
attribute syntax, 29
content element syntax, 30
property element syntax, 31
custom action
custom SubmitChangesAction action, 359
default trigger, 360
generic CallMethodAction action, 358
custom markup extensions
binding class and set property, 366
GetService method, 366
IMarkupExtension<T> interface, 365–366
IProvideValueTarget, 367
IRootObjectProvider, 367
ProvideValue method, 365
Silverlight, 364
static field/property, 371–372
System.Windows.Markup namespace, 365
custom triggers
Click event, 355
dependency properties, 358
EventTrigger trigger, 357
data binding
visual interpretation, 60
designer/developer workflow, 67
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
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
rows and columns, 42
The TextBlock and Button control, 46–47
UserControl, 42
visual studio designer, 43
weighted proportion sizing, 43–44
IntelliSense Presenter, 377
instantiate classes
control property, 388
defining resources, 388
resource, 387
issues, 24
label control, 347
layout control
grids (see Grid control, XAML)
positioning, 41
StackPanel control, 47
markup compatibility namespace property, 347
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, 26–27
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
styles, 58
UserControl, 56
styler, 377
SubmitChanges method, 351
templates, 59
triggers and actions
advantage and disadvantage, 352
assembly references, 351
generic solution implementation, 352
predefined function, 351
UserControl element, 347
user interface design, 67
Visual Studio Gallery, 377
vs. Windows Forms Controls' Property Names, 50
XML, 23
File system, 590
file filtering, 592
multiple file selection, 594
ShowDialog method, 591
save file dialog, 595
default name, 596
DefaultExt property, 596
display, 595
FloatingWindow control, 92
FocusVisual, 191
ForceVector property, 528
GetBindingExpression and SetBinding methods, 398
GifConverter, 190
Global Assembly Cache (GAC), 622
GrapeCity ActiveReports, 525
Grid control, XAML
rows and columns, 42
The TextBlock and Button control, 46–47
UserControl, 42
visual studio designer, 43
weighted proportion sizing, 43–44
HtmlViewer Control, 544
HTML Bridge, 545
IFrame, 546
destroying, 550
positioning and sizing, 547–549
WebBrowser control, 550
Product Catalog report, 551–553
HTTP polling duplex, 149
HyperText Markup Language (HTML), 23
Icons and images, 342
IEditableCollectionView interface, 203
IEditableObject Interface
BeginEdit method, 278
DataForm's AutoCommit property, 280
EndEdit method, 279
start/complete-type transaction, 278
IFrame, 546
destroying, 550
positioning and sizing, 547–549
WebBrowser control, 550
IDataErrorInfo interface
ImageTools, 189
Infragistics NetAdvantage Reporting, 525
INotifyPropertyChanged interface
Debug Mode, 276
implementation, magic strings, 275
lambda expressions, 277
Notify Property Weaver, 277–278
OnPropertyChanged method, 276
PropertyChanged event, 274
IsSynchronizedWithCurrentItem property, 239
ItemsSource property, 194
JavaScript Beautifier, 16
jQuery Support, 147
JSON Endpoint, 147
Label control, 265
LinqToSqlDomainService, 147
Login method, 317
Managed Extensibility Framework (MEF), 501, 645–650
AggregateCatalog, 510, 516–518
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, 514–515
DeploymentCatalog, 510, 517, 518
exporting Parts, 503
exports and imports, 502
importing parts
multiple parts, 505
single Part, 504
lazy imports, 508
ListBox control, 518
MainPage class, 519
Module1.xap files, 520
multiple parts importing, 515–516
new export instances, 509
parts, 502
System.ComponentModel.Composition, 511–513
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, 491–492
ChildWindow/Dialog,show, 490–491
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
LoginView View creation, 471–472
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, 466–467, 474–475
View-ViewModel communication (see View-ViewModel communication)
LoginSuccessAction action, 486
LoginSuccessful event, 486
navigation
LoginSuccessful event, 490
NavigationService object, 489
UIController object, 490
NewRecordStarted, 486
ObservableCollection, 484
Product object, 488
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
ViewModel first, 497
ViewModel serving multiple views, 497
View-multiple ViewModels interacting, 498
ViewModels,design time, 493–494
Multiple document interface (MDI), 92
Navigation framework
application shell, 70
back and Forward buttons, 70
Caliburn, 92
ClientUI Framework, 92
custom content loaders, 91
deep links, 77
FloatingWindow control, 92
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
Silverlight.FX, 92
source property, 75
user interface, 70
user-initiated navigation, 75
view events, 83
visual transition effects, 89–91
workshop
query string parameter, 87, 88
UriMapper property, 88
.NET Reflector, 336
Net.tcp mechanism, 149
NumericUpDown control, 263
Object-relational mapper (ORM), 94
OpacityThreshold property, 529
Out-of-browser (OOB) mode
benefits, 566
caching data (see Caching data)
configuration
enable running application, 566
GPU acceleration, 568
install options, 568
window options, 567
debugging, 574
elevated trust (see Elevated trust)
file system (see File system)
full-screen mode
FullScreenChanged event, 601
initiation, 600
keyboard access, 602
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
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
PDF report generation
on client (see HtmlViewer Control)
on server
PivotViewer control, 553
additional information, 560
configuration
collection of objects, 558–560
data item viewing details, 556–557
features
filtered data, 554
sorted data, 555
item adorner, trading cards, 561–562
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
RadioButton control, 257
RIA services
changes submission
concurrency violation handling, 177–178
DomainDataSource Control, 173–174
submit error handling, 175–177
data consuming
DomainDataSource control, 160–163
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)
query criteria
client-side query operators, 167
declarative query expression, 169
DomainDataSource control, 167
IQueryable<T> expression, 167
lambda expressions, 168
LINQ query, 167
RowDetailsTemplate property, 238
Scalable Vector Graphics (SVG), 23
Server-side security
AuthorizationAttribute, 306
AuthorizationContext property, 307
custom user profile data exposing, 308
errors sanitizing, 310
forms authentication, 303
IsAuthorized method, 307
RequiresAuthentication attribute, 305
RequiresRole attribute, 306
security function types, 301–302
SQL injection, 310
subset of data returning, 307
update/delete operations, 308
UserRegistrationService and ProductService domain services restriction, 313–314
Sharp HSql, 588
Silverlight 3, 69
Silverlight Business Application project, 70, 306
Silverlight
basic application, 8
About page, 8
Home page, 8
Login window, 8
client application, 316
custom controls, 335
data validation, 286
initial structure
Business Application Project, 10–11
linked resource files, 14
Silverlight application (see XAML files)
Silverlight Application Link, 12
Web Application project, 10
printing functionality, 527
advanced print settings, 528
printing mechanism, 527
PrintPage event, 528
report creation in code, 555–556
templates, 4
business applications, 5
class library project, 5
navigation framework, 5
Silverlight Application, 5
Unit Test Application, 6
WCF RIA Services Class Library, 6
tools
Expression Blend, 2
.NET Reflector, 4
silverlightspy, 4
SketchFlow, 2
SQL Server 2008 R2 Express Edition, 3
Visual Studio, 1
WCF RIA Services, 3
Web PI, 1
SilverlightFaultBehavior attribute, 97, 98
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
inheriting, 334
naming, 333
object hierarchy
application level, 331
control level, 331
generic.xaml, 333
view level, 331
styling constraints, 335
TextBox controls, 329
Summary lists
collection view
data binding concept, 202
DomainDataSourceView collection View, 204
IEditableCollectionView interface, 203
ListCollectionView/ EnumerableCollectionView, 203–204
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, 192–193, 200
DataGridCheckBoxColumn, 187
DataGridTemplateColumn, 187
FocusVisual, 191
GifConverter, 190
grouping, 191
Image control, 189
implicit data templates, 195–196
ItemsPanelTemplate property, 197
ItemTemplate property, 197–198
IValueConverter interface, 189
ListBox control, 193, 197, 199–201
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, 214–215
PagedCollectionView approach, 216–218
product name, 213
grouping
built-in grouping functionality, 222
CollectionViewSource approach, 223
DomainCollectionView approach, 224
DomainDataSource approach, 222–223
PagedCollectionView approach, 223
ObservableCollection<T> type, 202
paging
CollectionViewSource approach, 228
DomainCollectionView approach, 228–231
DomainDataSource approach, 227
IsTotalItemCountFixed property, 225
namespace prefix, 226
PagedCollectionView approach, 228
skip method, 225
record, drilling down
double-click behavior, 234
HyperlinkButton, 234
NavigateUri property, 234
navigation Framework, 233
sorting
CollectionViewSource approach, 220
DomainCollectionView approach, 221
DomainDataSource approach, 219
PagedCollectionView approach, 221
view model class
CollectionViewSource class, 209
Summary lists (continued)
view model class (continued)
ProductListViewModel, 207
T4 templates, 147
Telerik Reporting, 524
TextBox control, 335
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
Uniform resource identifier (URI), 72–73
UpdateSourceTrigger property
Binding object, 392
explicit mode, 393
IEditableObject interface, 393
PropertyChanged mode, 393
User authorization, 301
User controls
dependency properties
animation, 427
concept, 422
creation, 427
default value, 427
getting and setting method, 423
GetValue method, 424
implementing standard properties, 422
INotifyPropertyChanged implementation, 427
INotifyPropertyChanged interface, 422
ISupportInitialize interface, 432
propdp snippet, 428
registering, 423
resetting value, 430
SetValue methods, 424
Silverlight, 422
style, 427
template, 427
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
implementing standard properties, 418–420
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
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
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, 269–270
column configuration, 269
delete button, 273
DropDown lists implementation, 273–274
empty row, new record entry, 271–272
form-based layout, 268
row insertion, 270
selected rows deletion, 272–273
spreadsheet-like editing, 271
focused control, 268
grid control, 241
HasChanges property, 268
Silverlight, 241
tab order, 265
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
View-ViewModel communication, 492
command,login operation, 476
data consuming, 475
login operation,method, 476–477
LoginSuccessful event, 477–479
Visual Studio 2010, 377
WCF RIA services
authentication/authorization management, 102
basicHttpBinding, 98
bindings, 96
code and business object sharing, 99
code sharing, 104
communication functionality, 96
communications mechanism, 103
contract, 96
contrib project, 148
CRUD pattern, 104
customBinding, 99
data management, 102
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, 121–123
data annotations, 116
display attribute, 125
Editable attribute, 125
Key attribute, 125
KnownType attribute, 126
metadata classes, 117
predefined validation attributes, 120–121
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, 113–115
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, 109–110
WCF RIA services (continued)
domain services (continued)
ProductService Domain Service, 110
snippets, 110
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, 97–98
wsHttpBinding, 96
metadata classes, 104
.NET applications, 93
netTcpBinding, 98
pollingDuplexHttpBinding, 98
presentation model types
association attribute, 135
auto-generated property values, 133–134
concurrency violations, 141–146
Controlling Client Entity Generation section, 134
data transfer objects (DTO), 127
Delete operation, 133
error handling, 141
exposing process, 127
Insert operation, 132
populating and exposing, 130–131
product entity, 144
ProductInventory collection, 134
ProductSummary object, 132
ResolveConflicts method, 146
transactions, 146
Update operation, 133
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
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 Image Acquisition (WIA) platform, 615
Windows Presentation Foundation (WPF), 23, 71
XML Paper Specification (XPS), 23