56
725 Index NUMERICS 2-D drawing, 251. See also geometry classes; geometry mini-language; shapes 3-D drawing, 310—311 A A command, 280 #aarrggbb notation, 64 Abort( ) method, 659, 668 absolute positioning, 509—510 absolute sizing, 80 abstract class (C#), 269 abstract keyword (C#), 368 AcceptsReturn property Style object, 424 TextBlock object, 167 actions activating, 432—433 attached, 432 connecting to element with trigger, 433—434 ControlStoryboardAction class, 440 creating, 431—433 describing as behaviors, 441 design pattern for, 440 encompassing, 441 FadeInAction action, 437—438 FadeOutAction action, 437 Microsoft.Expression.Interactivity.dll assembly action classes, 445 overview, 430 source and target interchangeability, 440 that share data or interact, 441 tight coupling with behavior, 441 TriggerAction class, 431 ActiveColorBorder property, 64 ActiveX controls, 30 ActualHeight property, 74 ActualWidth property, 74 adaptive streaming, 395 Add( ) method IDictionary interface, 45 IList interface, 45—46 AddMessage( ) method, 718 add-on assemblies, 22 AJAX, 17 algorithm, sieve of Eratosthenes, 663 alignment aligning content, 154—155 DockPanel control, 77 Grid control, 81 GridSplitter control, 85 HorizontalAlignment property, 68—69 StackPanel control, 69—70 VerticalAlignment property, 68—69 WrapPanel control, 75 AlignmentX property, 296 AlignmentY property, 296

Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

725

Index

■NUMERICS 2-D drawing, 251. See also geometry

classes; geometry mini-language; shapes

3-D drawing, 310—311

■A A command, 280 #aarrggbb notation, 64 Abort( ) method, 659, 668 absolute positioning, 509—510 absolute sizing, 80 abstract class (C#), 269 abstract keyword (C#), 368 AcceptsReturn property

Style object, 424 TextBlock object, 167

actions

activating, 432—433 attached, 432 connecting to element with trigger,

433—434 ControlStoryboardAction class, 440 creating, 431—433 describing as behaviors, 441 design pattern for, 440 encompassing, 441 FadeInAction action, 437—438 FadeOutAction action, 437

Microsoft.Expression.Interactivity.dll assembly action classes, 445

overview, 430 source and target interchangeability,

440 that share data or interact, 441 tight coupling with behavior, 441 TriggerAction class, 431

ActiveColorBorder property, 64 ActiveX controls, 30 ActualHeight property, 74 ActualWidth property, 74 adaptive streaming, 395 Add( ) method

IDictionary interface, 45 IList interface, 45—46

AddMessage( ) method, 718 add-on assemblies, 22 AJAX, 17 algorithm, sieve of Eratosthenes, 663 alignment

aligning content, 154—155 DockPanel control, 77 Grid control, 81 GridSplitter control, 85 HorizontalAlignment property, 68—69 StackPanel control, 69—70 VerticalAlignment property, 68—69 WrapPanel control, 75

AlignmentX property, 296 AlignmentY property, 296

Page 2: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

726

allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency, 64, 298 Alt key, 135 AlternatingRowBackground property, 604 alternative content, 28 & character entity, 41 Amplitude property, 340 Ancestors( ) method

XDocument object, 695 XElement object, 695

Angle value, 344 animation

attached properties, 327 bomb-dropping game, 355—365 brushes, 348—349 Canvas container class, 330 ChildWindow control, 232 cleaning up, 364 Completed event, 355—363 creating simple, 325—336 data types available for, 325 defining state animations, 480—482 dependency property

changing values of, 324 precedence, 112

dynamic effects, 305 easing, 337—343

description, 323 easing function classes, 337, 340—

343 EasingFunction property, 337—339

encapsulating, 365—370 enumerations, 325 flipping elements, moving, 343 frame-based, 370—374 grouping multiple, 326 hard-coding values, 459 hardware acceleration, 323 key-frame, 337, 351—354 key-spline, 354 lifetime, 331—333

limitations of, 324 making elements appear or disappear,

343 mouse, when moved over button, 457 one-way, 332 overview, 323—324 performance, 374—380

bitmap caching, 377 frame rate, 374 hardware acceleration, 375—380 improving, 375

performing part of, 333 perspective projections, 346—348 pixel shaders, 349—351 playback of, controlling, 326, 334—336 pointing to property element, 326 position of elements, 343 properties

choosing, 343 configuring, 329—331

reference types, 325 repeating endlessly, 333 resizing stretching elements, 343 rules of, 324—325 Silverlight and WPF systems, 324 simultaneous, 334 starting

with code, 328 with event trigger, 327—328

states, 455 steady-state, 462 stopping versus completing, 336 surface of elements, changing, 343 timeline of, managing, 326 transforms, 343—346 transitions

overview, 461—466 page, 366—367 wipe, 368—370

user controls, 357—359 video puzzle, 410 XAML markup, 326 zero-length, 461

Page 3: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

727

Animation class, 326, 334 annotation attributes, 592—599

CustomValidation, 596—599 Range, 593 RegularExpression, 594—596 Required, 593 StringLength, 591—593

annotations

data, 590—602 text, 399

anonymous types, LINQ, 696 api_key query-string argument, Flickr, 691 App class, 229, 244 App_Code folder, 516, 553 AppendChild( ) method, 496, 499 application assembly, 209—212 Application class, 146, 188 application endpoints, 707 application model, 183—223

class library assemblies, 217—219 life cycle, 185—186, 190 overview, 183 resources, 209—213 scenarios, 184, 187—189, 192—196

Application object, ASP.NET, 530 application package, 209, 212—213 application settings, 644—645 Application Startup method, 186 Application Storage tab, 640—641 Application_Startup method, 186 ApplicationSettings collection, 644—645 AppManifest.xaml file, 18 AppManifest.xml file, 6 App.xaml file

Application.Resources section, 52—53 creating set of related styles, 450 overview, 5 using resources collection in, 284

App.xaml.cs file (CS), 5 App.xaml.vb file (VB), 5 arcs, 275—277 ArcSegment class, 274—277

geometry mini-language command, 280

IsLargeArc property, 276 Point property, 275 Size property, 275 SweepDirection property, 277

ARGB color standard, 298 Argument property, 671 Arrange( ) method, 93 ArrangeCore( ) method, 91 ArrangeOverride( ) method

calling UniformGrid, 97 custom layout containers, 91—93 modifying, WrapBreakPanel class, 116

arrow keys, 135 ASP.NET

accessing key objects, 530 creating ASP.NET-hosted Silverlight

project, 12—17 platform services, 529—530 web services called by Silverlight, 515

ASP.NET website, 3—5, 25, 194 AspNetCompatibilityRequirements

attribute, 517 assemblies

add-on, 22 changing name, 18 core, 21 creating templates for custom controls,

472 declaring XML namespaces, 37 dependent, 18 listing used, 6 Microsoft.Expression.Interactions.dll,

430 System.Windows.Interactivity.dll, 430

assembly caching, 22—24 assembly resources, 50 AssemblyInfo.cs file (CS), 6 AssemblyInfo.vb file (VB), 6 AssemblyPart class, 219 AssemblyPart.Load( ) method, 219 Asset Library, 434—435

Page 4: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

728

assets, 209 AssociatedObject property, 432, 437 .asx files, 392 asynchronous methods, 681 asynchronous processes

AutoCompleteBox control class, 174 BackgroundWorker class, 669 calling web services, 519 GetProducts( ) method, 559 status message, 682 thread pool threads, 671 tracking progress for, 674

attached properties

animation, 327 docking elements, 76 layout containers, 69 LineBreakBefore property, 116 overview, 113—114 SetPropertyName( ) method, 44 XAML, 44—45

AttachEvent( ) method

HtmlDocument class, 494, 502 HtmlElement class, 497, 502 HtmlWindow class, 502

Attribute( ) method, 692 Attributes( ) method, 692 audio and video

adaptive streaming, 395 client-side playlists, 391 decoding streaming chunks of audio,

391 Expression Encoder, 397—398 handling errors, 386 markers, 399—404 MediaElement class, 384—394 playback, controlling, 385—387, 395—411 playing multiple sounds, 386—387 progressive downloading, 392—394 server-side playlists, 392 streaming, 393 supported file types, 383 video effects, 405—411 video encoding, 396—398

VideoBrush object, 404—405

Auto value, 102 AutoCompleteBox control class, 169—175

add-on assemblies, 22 custom filtering, 171—173 description, 138 dynamic item lists, 173—175 FilterMode property, 170—173 IsTextCompletionEnabled property,

170 ItemFilter property, 171 ItemsSource property, 169, 172—174 MinimumPopupDelay property, 173—

175 MinimumPrefixLength property, 173—

175 PopulateComplete( ) method, 175 Populating event, 173—174 Text property, 170 TextFilter property, 171

AutoCompleteFilterMode enumeration, 170

AutoEllipsis property, 627 AutoGenerateColumns property, 603, 606 automatic sizing, 80—81 Automatic value, 331 AutoPano Pro, 413 AutoPlay property, 385—386 AutoReverse property

ColorAnimation class, 464 Timeline class, 331—333

autoUpgrade parameter, 27, 29 autozoom feature, 105 AvailableFreeSpace property, 638—639

■B Back button

browser history, 231 designing, 244 navigation bug, 242 state storage, 247

BackContent property, 473

Page 5: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

729

BackEase class

Amplitude property, 340 easing function classes, 340

background

animation programming, 365 background, 63—65

background parameter, 27 Background property

Border class, 65 brushes, 289 Canvas class, 129 Grid control, 64 GridSplitter control, 85—86 Panel class, 62—65

BackgroundWorker class, 668—676

CancelAsync( ) method, 674—675 cancelling long-running tasks, 674—676 creating, 669 DoWork event, 669, 671 overview, 655 ProgressChanged event, 672—674 ReportProgress( ) method, 672—673 running, 669—672 RunWorkerAsync( ) method, 669—670 RunWorkerCompleted event, 671, 675 tracking progress, 672—674 WorkerReportsProgress property, 672—

673 WorkerSupportsCancellation property,

674

backward navigation, 244—245 balance, slider for adjusting, 388 Balance property, 387 BAML, 17 bandwidth, user, 395—396 BasedOn property, 427 Beaulieu, Andy, 365 BeginAcceptTcpClient( ) method, 710 BeginAnimation( ) method, 324 BeginGetRequestStream( ) method, 686,

688 BeginGetResponse( ) method, 687—688 BeginInvoke( ) method, 659—661, 686, 688

BeginningEdit event, 620 BeginStoryboard class, 327 BeginTime property, 334 behavior classes

DragInCanvasBehavior class, 442—443, 445

FluidMoveBehavior class, 445 MouseDragElementBehavior class, 445 pre-made, 444—446 restricting behavior to specific

elements, 441 reusable behaviors, 441

behaviors, 429—446

actions

connecting to element with trigger, 433—434

creating, 431—433 describing as behaviors, 441 encompassing, 441 overview, 430

community behaviors gallery, 446 creating, 441—444 design-time behavior support in Blend,

434—437 Expression Blend Samples project, 446 making elements draggable with, 444 overview, 423 pre-made behavior classes, 444—446 reusable, 441 support for, 430 templates for custom controls, creating,

470 triggers

connecting action to element with, 433—434

creating targeted, 437—440 encompassing, 441 overview, 430

Bevel value, 266 Bézier curves, 277—279, 353—354 BezierSegment class, 274, 280 BigButtonStyle style, 424—426 BinaryReader class, 637

Page 6: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

730

BinaryWriter class, 637 binding. See collection binding; data

binding; element-to-element binding; template binding

Binding class

Mode property, 545 NotifyOnValidationError property, 549—

551 UpdateSourceTrigger property, 546 ValidatesOnExceptions property, 547—

549

binding expressions

defining DataGrid columns, 607 latching DescriptionViewer to control,

587 latching Label to control, 585 latching ValidationSummary to control,

589 setting target property using, 542

Binding markup extension

Converter property, 544 ElementName property, 57 latching Label to control, 586 Mode property, 57, 544 overview, 56 Path property, 57 Source property, 543—544

Binding property

DataGridCheckBoxColumn class, 608 DataGridTextColumn class, 607

BindingExpression class, 546, 550 BindingMode enumeration, 545 BindingValidationError event, 120, 549—

550 bit rate

Constant Bit-rate Encoding, 399 Expression Encoder, 397 overview, 393 Variable Bit-rate Encoding, 399

bitmap caching, 376—379

evaluating hardware acceleration, 379 potential problem, 379

reduce number of URI requests, 149 switching on, 377 when to use, 377

BitmapCache element, 379 BitmapImage class, 572—573 bitmaps

generating, 318—320 in-memory, 318 WriteableBitmap class, 318—321

BitmapSource class, 318 bit-rate throttling, 394—395 BlackoutDates property, 178 Blend. See Expression Blend blend namespace, XAML, 36 BlurEffect class, 315, 350 BlurRadius property, 315 Body property, 494 Bomb user control, 357—359, 362 bomb-dropping game, 355—365

counting bombs dropped, 363—364 dropping bombs, 359—362 intercepting bombs, 362—363 main page, 356—357 possible refinements, 365 user controls, 357—359

bookmarks, 492 Border class, 65—66, 138 Border element, 226, 448 BorderBrush property, 65, 289 borders

dashed lines, 267—269 layout containers, 65—66

BorderThickness property, 65 BounceEase class, 340 Bounces property, 340 Bounciness property, 340 Browser namespace, 490 BrowserInformation class, 132, 490—492 browsers

browser information, 491—492 cache, 24 calling browser script from Silverlight,

503

Page 7: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

731

calling Silverlight methods from browser, 503—506

code interaction, 503—507 duplex services, 531—537 history, 231, 246 HTML content

combining Silverlight and, 507—511 compatibility, 489 interacting with HTML elements,

490—502 placing Silverlight control next to

HTML element, 509—511 securing HTML interoperability,

511—513

instantiating Silverlight objects in browser, 506—507

legacy web pages, 489 overview, 489 sandbox model, 633 server-side code requirement, 489 simulated server initiated

communications, 531—532 sizing Silverlight control to fit content,

508—509 support for out-of-browser

applications, 490 System.Windows.Browser.dll assembly,

21 URI, 239—241 window

resizing pages in, 99 sizing Silverlight content region, 26

zooming, 105

Brush class, 63 brushes, 289—296

animating, 348—349 Background property, 289 BorderBrush property, 289 description of, 289 Foreground property, 289 ImageBrush class, 295—296 LinearGradientBrush class, 290—293 Opacity property, 297 OpacityMask property, 299—300

RadialGradientBrush class, 293—295 VideoBrush object, 404—405

bubbled events. See event bubbling buffering, 393 BufferingProgress property, 394 BufferingProgressChanged event, 394 BufferingTime property, 394 BufferList property, 720 Build Action setting, Visual Studio, 145,

385 Button class

applying BigButtonStyle to, 426 attributes attaching event handlers, 48 Click event, 119 Content property, 450 description of, 138 Height property, 88 Padding property, 82 understanding states with, 456—459 VerticalAlignment property, 75 Width property, 88

ButtonBase class, 155 buttons, 155—158

animating pixel shaders, 349 animating transforms, 344 animations when user moves mouse

over, 457 applying transforms to, 307 BigButtonStyle style, 425 blurred, 315 button controls, 155 CheckBox control class, 157 content controls, 152 creating template for, 448 docking elements, 76 explicitly positioned, 88 focus cue, 460—461 HyperlinkButton control class, 155 placing image inside, 152 RadioButton control class, 157 RepeatButton control class, 156 StackPanel sizing, 73 templates affecting, 447 ToggleButton control class, 156

Page 8: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

732

video effects, 405 WrapPanel aligning, 75

By property, 331

■C C command, 280 Cache object, ASP.NET, 530 CacheMode property, 377 CacheSize property, 247 caching

assembly caching, 22—24 bitmap caching, 376—379 enableCacheVisualization parameter,

376 NavigationCacheMode property, 247 page object in memory, 230

CalculateColumns( ) method, 95 Calendar control class, 138, 177—180 CalendarClosed event, 180 CalendarOpened event, 180 CallbackContract property, 533 callbacks

OnAcceptTcpClient( ) method, 710 OnDataReceived( ) method, 714

caller inform design pattern, 555 Cancel property, 675 CancelAsync( ) method, 215—216, 674—675 Cancelled property, 216 cancelling long-running tasks

BackgroundWorker class, 674—676 ThreadWrapperBase class, 666—668

CanGoBack property, 244 CanGoForward property, 244 CanPause property, 386 CanSeek property, 386 CanUserReorderColumns property, 606 CanUserResize property, 606 CanUserResizeColumns property, 606 CanUserSort property, 616 CanUserSortColumns property, 616 Canvas container class

animation, 330, 343, 355—356, 359—360

Background property, 129 Clip property, 89 clipping, 89—90 description of, 138 dragging shapes, 129—130 explicit size given to, 259 explicitly positioned buttons, 88 exporting clip art, 282 geometry classes, 271 layout containers, 87—91 layout panels, 63 Left property, 88, 113, 130 Line element, 260 overlapping shapes, 257 placing ellipse or rectangle, 257 positioning element on, 88 resizing graphics with Viewbox, 258—

260 SetTop( ) method, 373 size of, 88 SizeChanged event, 90 Top property, 88, 113, 130 XAML export option, 283 ZIndex property, 89

caps

line caps, 265—267 StrokeDashCap property, 269

capturing mouse. See mouse capture cascading style sheets (CSS), 423, 496, 501,

509 case-sensitivity, 41 CBR (Constant Bit-rate Encoding), 399 CellEditEnded event, 620 CellEditEnding event, 620 CellEditingTemplate object, 617—618 CellTemplate object, 617 Center property

EllipseGeometry class, 271 RadialGradientBrush class, 294

CenterOfRotationX property, 311 CenterOfRotationY property, 311 CenterOfRotationZ property, 311 CenterX property, 306 CenterY property, 306

Page 9: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

733

change notification

data objects, 551—552 master-details display, 565

changeParagraph( ) function, 503 ChangePropertyAction class, 445 ChangeText( ) method

Page class, 505 ScriptableSilverlight class, 506

ChangeVisualState( ) method, 474, 482—483

chat client, socket-based, 708 check boxes, 606, 608 CheckAccess( ) method, 659—660 CheckBox control class, 138, 157 Child property, 161 Children collection, 89 Children property

HtmlElement class, 494, 496 layout containers, 47 Panel class, 62

ChildWindow control class, 231—236

Close( ) method, 234 Closed event, 234—235 Closing event, 234 derivation of, 233 designing, 233—234 DialogResult property, 234 disabling content in root visual, 232 drawback of, 236 events, 233 floating ChildWindow control, 233 keeping UserInformation object in

memory, 235 location of definition, 233 methods, 233 properties, 233 Show( ) method, 234

CircleEase class, 340 circles

dragging, 128 frame-based animation of falling, 371

Class attribute, 38 class library, 11, 196, 213, 217—218

Clear( ) method, 48 ClearValue( ) method, 112 Click event

animating transforms, 344 Button control

always responding to, 119, 121 attributes attaching event handlers,

48 event bubbling, 121

design-time behavior support in Expression Blend, 436

dragging shapes example, 129

ClickMode property, 155 clientaccesspolicy.xml file

clients allowed to connect to socket server, 708

cross-domain access, 678 cross-domain web service calls, 526—

527 policy file, 709 Twitter, 679

ClientBin folder, 214, 218, 417 clients

allowed to connect to socket server, 708 FileServiceClient class, 651—653 messenger, 717—721 Silverlight, 651—653

client-side playlists, 391 clip art, 282—286

conversion tools, 284 exporting pictures to XAML through

XPS, 284—285 Expression Design tool, 282

Clip property

Canvas container class, 89 geometry classes, 281—282

clipping, 89—90 Clipping property, 406 Close( ) method, 234 Closed event, 234—235 Closing event, 234 code interaction, 503—507

Page 10: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

734

calling browser script from Silverlight, 503

calling Silverlight methods from browser, 503—506

instantiating Silverlight objects in browser, 506—507

code-behind class

attributes attaching event handlers, 48 dragging shapes example, 129 XAML, 38—39

codecs, support for, 383 coding animation. See animation Collapsed value

MediaElement class, 404 UIElement class, 228

CollapseRowGroup( ) method, 624 collection binding

binding to collection of objects, 557—567

binding to LINQ expression, 562—564 displaying and editing collection items,

557—561 inserting and removing collection

items, 561—562 master-details display, 564—567

CollectionView class, 539 Color property

DropShadowEffect class, 315 GradientStop class, 43

ColorAnimation class

animating brushes, 348 AutoReverse property, 464 changing lighting or color, 458—459 choosing property to animate, 343 Duration property, 461 RepeatBehavior property, 464

colors, 64, 297—298, 454 Colors class, 63—64 Column property, 79, 113 column spanning, 83 ColumnDefinition object, 80, 85 ColumnDefinitions element, 78—79

ColumnHeaderHeight property, 604 ColumnHeaderStyle property, 611, 616 columns

DataGridCheckBoxColumn class, 606, 608

DataGridColumn class, 606 DataGridTemplateColumn class, 606,

608 DataGridTextColumn class, 606 defining, 606—608 formatting and styling, 609—611 freezing, 614 IsFrozen property, 614 resizing and rearranging, 605—606 sizing, 607 sorting rows based on, 616 wrapping text in, 609

Columns collection, 606 Columns property, 95 ColumnSpan property, 83, 85 ColumnWidth property, 605 CombinedGeometry class, 270 ComboBox control class, 138, 165 ComboBoxItem object, 165 CommonStates group, 456, 460—461 community behaviors gallery, 446 compatibility namespace, XAML, 36 Completed event

animation lifetime, 332 FindPrimesCompletedEventArgs class,

664—666 LocalMessageSender class, 723 SocketAsyncEventArgs object, 717—718,

721 Storyboard class, 355, 363

CompositionTarget object, 370, 372 compression modes, 399 conditional formatting, 574—577 confirmation dialog boxes, 231 ConnectAsync( ) method, 717 connections

local connection model, 722—724 MessagingConnection class, 713—714 MessagingServer class, 713—714

Page 11: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

735

monitoring network connection, 528—529

PolicyConnection class, 709, 712—713 PolicyServer class, 709—711 ports and application endpoints, 707 TCP, 707

Constant Bit-rate Encoding (CBR), 399 constrained page sizing, 99 containers. See also layout containers

Frame container class, 139 keeping track of MediaElement objects,

387 layout containers, 61—66

Contains( ) method, 645 Contains value, 171 ContainsCaseSensitive value, 171 content, 151—155

adding to existing website, 3 aligning, 154—155 alternative, 28 avoiding control customization, 471 compresssing, 19 ContentPresenter placeholder, 450 ContentTemplate property, 152 event bubbling, 120 Frame control, 236 hiding, 228 hierarchy of, 152 HorizontalContentAlignment property,

155 list of, 236 nesting, 151, 154 Padding property, 155 ScrollViewer control, 101—102 swapping, 228—229 ToolTip control, 159 vector-drawing model integration with,

153 VerticalContentAlignment property,

155 video effects, 405

Content property

Button class, 450, 452 ContentControl class, 152—154

ContentPresenter placeholder, 450 creating template for button, 449 event bubbling, 120 Frame control, 236 nested content element, 47 TabItem control, 166 UserControl class, 99

content region

browser integration with Silverlight, 489

changing HTML elements, 497 hiding using event handler, 511 HTML test page, 24 sizing, 26

ContentControl class, 151—152, 154 ContentControl element, 471, 477 ContentPresenter placeholder, 450—453,

478 ContentProperty attribute, 45—46 ContentTemplate property, 152, 577 ContentType property, 212 Control class

IsEnabled property, 135 IsTabStop property, 135 OnApplyTemplate( ) method, 482 TabIndex property, 135 Template property, 447 templates, 447 Visibility property, 135

control skins, 470 control states. See states control templates, 470—471

adding class library project to existing solution, 472

avoiding customization, 471 bindings, 451 changing appearance of common

controls, 454, 468—469 common patterns of element usage,

468 ContentPresenter placeholder, 450 defining as part of style, 450 determining required elements, 482 essential parts and states, 455

Page 12: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

736

flexibility to modify, 450 FlipPanel control, 471—487 focus, 460 lacking specific part or state, 455 reusing, 449 setting through styles, 453 starting default, 478—479 state animations, 480—482 Template property, 448 ToggleButton object, 479 using two different approaches in, 477

controls

add-in, 22 adding default style with generic.xaml,

474—476 alignment properties, 68—69 ASP.NET, 16—17 avoiding customization, 471 binding PagedCollectionView to, 621 content, 151—155 control classes to derive from, 472 custom, 447, 485—487 docking, 77 dynamic creation, 128 embedding in page, 226—228 FlipPanel control, 471—487 focus, 135 InitializeComponent( ) method, 10 lookless, 470 margin properties, 68, 70 PagedCollectionView window, 621 reusing user-interface functionality,

430 size properties, 68—69, 72 skins, 470 System.Windows.Controls.dll

assembly, 22 templates, 447—454 terminology, 7 themes, 470 Toolkit, 141 using different control template, 485—

487

ControlStoryboardAction class, 440, 445

conversion tools, XAML file, 284 conversions. See data conversion Convert( ) method, 569, 574, 576 ConvertBack( ) method, 569 Converter property

Binding markup extension, 544 PropertyGroupDescription object, 624

ConverterParameter property, 576—577 cookies

cross-domain web service calls, 528 isolated storage, 633 reading changing, 491

Cookies property, 494 CookiesEnabled property, 491 coordinates

Canvas layout panel, 87 LinearGradientBrush class, 291 negative, 260 RadialGradientBrush class, 293 relative position of, 260

Copy Local property, 18, 22 Copy To Output Directory setting, Visual

Studio, 385 core assemblies, 21 CornerHeaderStyle property, 611 CornerRadius property, 65, 474 CPU usage

evaluating hardware acceleration, 379 reasons for using multithreading, 656

Create( ) method, 212 CreateDirectory( ) method, 636 CreateElement( ) method, 494, 496, 499 CreateFile( ) method, 636 CreateRequest( ) method, 686 cross-domain access, 678—680

accessing content from website not allowing, 679

ExternalCallersFromCrossDomain attribute, 513

Flickr, 678 RSS, 703 web services, 679 XML policy file, 678

Page 13: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

737

cross-domain web service calls, 526—528 crossdomain.xml file, 527, 678 csc.exe compiler (CS), 17 CSS (cascading style sheets), 423, 496, 501,

509 CssClass property, 496, 500 Ctrl key, 134 CubicEase class, 341 Currency type, 570 current application, 184 Current property, 184, 530 CurrentBookmark property, 492 CurrentItem property, 590 CurrentState property, 388 CurrentTimeInvalidated event, 336 Cursor property

FrameworkElement class, 131 HyperlinkButton class, 156

cursors, mouse, 131 Cursors class, 131 curves

arcs, 275—277 Bézier, 277—279, 353—354

Custom value, 171 CustomBehaviorsLibrary assembly, 433 CustomValidation attribute, 596—599

■D d prefix, 36 dashed lines, 267—269 data annotations, 590—602

CustomValidation attribute, 596—599 DataGrid object, 620—621 Display attribute, 585—587 forcing data classes to throw exceptions

indicating error conditions, 592 raising annotation errors, 591—592 Range attribute, 593 RegularExpression attribute, 594—596 Required attribute, 585, 593 StringLength attribute, 591, 593 validation attributes, 592—599 web service type sharing, 599—602

data binding

binding to collection of objects, 557—567

binding to data objects, 540—556 binding to LINQ expression, 562—564 building data object, 540 building data service, 552—555 calling data service, 555—556 change notification, 551—552 data conversion, 567—577 data templates, 577—582 displaying and editing collection items,

557—561 displaying data objects with

DataContext property, 541—544 editing with two-way bindings, 545—546 inserting and removing collection

items, 561—562 master-details display, 564—567 one-way, 56 Silverlight and WPF compared, 539 storing data objects as resources, 544—

545 TreeView, 629—631 two-way, 539 validation, 546—551 XAML markup extensions, 57

data classes

AllowInvalid property, 592 smart data classes, 584 web service type sharing, 599—600

data controls

DescriptionViewer control class, 587—588

Label control class, 584—586 ValidationSummary control class, 588—

590

data conversion, 567—577

applying conditional formatting, 574—577

creating objects with value converters, 572—574

decimal-to-currency conversion, 569

Page 14: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

738

formatting strings with value converters, 568—572

Parse( ) method, 570 TryParse( ) method, 570 value converter class, 567

data forms

building, 584—590 data annotations, 590—602

data objects

binding to, 540—556 binding to collection of, 557—567 building data service, 552—555 calling data service, 555—556 change notification, 551—552 description of, 540 displaying and editing collection items,

557—561 displaying with DataContext property,

541—544 editing with two-way bindings, 545—546 embedding captions in, 584 embedding descriptions in, 587 embedding validation rules in, 588 inserting and removing collection

items, 561—562 pulling metadata out of, 583 storing as resources, 544—545 validation, 546—551

data prefix, 603 Data property, 269 data service

building, 552—555 calling, 555—556

data storage. See isolated storage data templates, 577—582

avoiding control customization, 471 changing item layout, 581 DataGridTemplateColumn class, 606,

608 requirement for data binding, 579 separating and reusing, 579 TreeView object, 629

data types

linear key frames, 352 Value property, 351 web services, 524—526

database stored procedures, 554, 558 DataContext property

calling data service, 556 displaying and editing collection items,

561 displaying data objects with, 541—544 editing with two-way data binding, 545 setting source object, 543 storing data objects as resources, 544

DataContract attribute

building data service, 553 web service custom class, 524 web service type sharing, 599—600

DataContractJsonSerializer class, 700—701 DataField control, 590 DataForm control, 590 DataGrid control, 602—621

AlternatingRowBackground property, 604

AutoGenerateColumns property, 603, 606

BeginningEdit event, 620 CanUserReorderColumns property, 606 CanUserResize property, 606 CanUserResizeColumns property, 606 CanUserSort property, 616 CanUserSortColumns property, 616 CellEditEnded event, 620 CellEditEnding event, 620 CollapseRowGroup( ) method, 624 ColumnHeaderHeight property, 604 ColumnHeaderStyle property, 611, 616 columns

defining, 606—608 formatting and styling, 609—611 freezing, 614 resizing and rearranging, 605—606 sorting rows based on, 616 types supported, 606

Columns collection, 606

Page 15: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

739

ColumnWidth property, 605 CornerHeaderStyle property, 611 creating grid, 603—604 data annotations, 620—621 description of, 138, 583 display properties, 604 editing cells in, 616—621 editing events, 619 ElementEditingStyle property, 610 ElementStyle property, 610 ExpandRowGroup( ) method, 624 GridlinesVisibility property, 605 HeadersVisibility property, 605 HorizontalGridlinesBrush property, 605 HorizontalScrollBarVisibility property,

605 IsReadOnly property, 616 ItemsSource property, 603 LoadingRow event, 611, 613 PagedCollectionView window, 621 PreparingCellForEdit event, 620 RowBackground property, 604 RowDetailsTemplate property, 613 RowDetailsVisibilityMode property, 614 RowEditEnded event, 620 RowEditEnding event, 620 RowGroupHeaderStyles property, 624—

625 RowHeaderStyle property, 611 RowHeaderWidth property, 604 RowHeight property, 605, 610 rows

details display area, 613—614 formatting, 611—612 sorting based on columns, 616

RowStyle property, 610—611 ScrollIntoView( ) method, 615 SelectedItem property, 615 selection, 615 SelectionChanged event, 615 SelectionMode property, 615 Silverlight add-on assemblies, 22 SortMemberPath property, 616 style properties, 611 validation, 618—621

VerticalGridlinesBrush property, 605 VerticalScrollBarVisibility property, 605 wrapping text

in columns, 609 using custom style for, 705

DataGridCheckBoxColumn class, 606, 608, 617

DataGridColumn class, 606, 616 DataGridRowGroupHeader class, 625 DataGridTemplateColumn class, 606, 608,

617, 619 DataGridTextColumn class, 606—607, 609,

614, 617, 619 dataInput prefix, 584 DataMember attribute

building data service, 553 web service custom class, 524

DataPager control, 625—627

AutoEllipsis property, 627 description of, 138 DisplayMode property, 626 IsTotalItemCountFixed property, 627 NumericButtonCount property, 627 NumericButtonStyle property, 627 PageCount property, 626 Silverlight add-on assemblies, 22 Source property, 626

DataSet classes, ADO.NET, 539 date controls, 177—180 date types, format string for, 570 DatePicker control

CalendarClosed event, 180 CalendarOpened event, 180 DateValidationError event, 180 description, 138 properties, 178—179 SelectedDateChanged event, 180 storing objects with XmlSerializer, 643 understanding parts with, 466

DateValidationError event, 180 debugging, 15 Decimal type, 570 decompilation, 20—21

Page 16: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

740

deep linking, 239 Deep Zoom, 411—421

behaviors, 441 Hard Rock Memorabilia website, 421 using Deep Zoom image set, 417—421 WPF, 421

Deep Zoom Composer tool, 412—413, 415—417

DeepZoomBehavior object, 441 DeepZoomPix export option, 415 DeepZoomProjectSite website, 417 default control template

ContentPresenter placeholder, 452 creating for new custom control, 460 defining state animations, 480 FlipPanel control, 474, 478—479 overview, 474 replacing with custom template, 470 template binding expressions, 479

default transitions, 462—463 Default.aspx page, 15 DefaultExt property, 648 DefaultStyleKey property, 476 DefaultTrigger attribute, 436 DeleteDirectory( ) method, 636 DeleteFile( ) method, 636 Deliver( ) method, 714 DeliverMessage( ) method, 715 Delta property, 126 denial-of-service attacks, 651 dependency properties, 109—116

attached, 113—114 creating for FlipPanel control, 473 defining and registering, 110—112 dynamic value-resolution system, 112—

113, 324 naming convention for, 110 one animation at a time rule, 329 performance, 110 precedence, 109, 112—113 property sharing, 111 property wrapper, 112 PropertyMetadata object, 113 removing local value setting, 112

template bindings, 452 WrapBreakPanel custom layout panel,

114—117

DependencyObject class

attached properties, 44 ClearValue( ) method, 112 GetValue( ) method, 112, 114, 116 SetValue( ) method, 44, 112, 114, 116

DependencyProperty class

creating dependency properties, 110 defining, 110 Register( ) method, 111 RegisterAttached( ) method, 114 registering, 111

dependent assemblies, 18, 23 deployment

assembly caching, 22—24 HTML test page, 24—30 overview, 18—20 simplifying, 19

depth, animation programming, 365 Descendants( ) method, 695 Description property, 587 DescriptionViewer control class, 587—588

accessing, 584 description, 139, 583 GlyphTemplate property, 588 using with smart data classes, 584 validation, 588

design namespaces, XAML, 36 design patterns

actions, 440 caller inform, 555

design surface, Visual Studio, 7 design tools, 1—3 DesignHeight attribute

blend namespace, XAML, 36 user controls, 100

DesignWidth attribute

blend namespace, XAML, 36 user controls, 100

Page 17: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

741

DesiredSize property, 92—93 DetachEvent( ) method, 494, 497 detaching event handlers, 11 dialog boxes

confirmation, 231 modal, 231

DialogResult property, 234 dictionaries, organizing resources with,

54—55 Direction property, 315 directory management, 635 DirectoryExists( ) method, 636 Disabled state, 456, 460 Disabled value, 102 discrete key frames, 352 dispatcher, threading, 659 Dispatcher class

BeginInvoke( ) method, 659—661, 686, 688

CheckAccess( ) method, 659—660

Dispatcher property, 659 DispatcherOperation object, 661 DispatcherTimer class

controlling playback, 390 Tick event, 390, 657

DispatcherTimer property

animation programming, 361 bomb-dropping game, 359

Display attribute

accessing, 591 adding to data class, 585 Description property, 587 Name property, 585

DisplayDate property, 179 DisplayDateChanged event, 180 DisplayDateEnd property, 178 DisplayDateStart property, 178 DisplayMemberPath property, 557, 560 DisplayMode property

Calendar object, 179 DataPager object, 626

div element

alternative content, 28 HTML test page, 25 sizing Silverlight content region, 26

dividers, 84—87 DLL files, 17, 21—22 DnsEndPoint object, 718 Dock property, 76 docked elements, 76 DockPanel layout panel, 62, 74, 76—78 Document Outline window, 83 Document property, 490, 494 DocumentElement property, 494 documents, XAML. See XAML documents DocumentUri property, 494 DOM, 498 domains

cross-domain access, 513, 678—680 cross-domain web service calls, 526—

528 ExternalCallersFromCrossDomain

attribute, 512 isolated storage, 634 policy file rule, 709 securing HTML interoperability, 512

DoTask( ) method, 662—663 Dotfuscator tool, 21 Double type, 92 DoubleAnimation class

adjusting properties before launching animation, 328

animating brushes, 348 configuring animation properties, 329—

331 Duration property, 326, 331, 333 EasingFunction property, 337—338 key-spline animation, 354 To property, 326 From property, 326, 329—330 To property, 330—331 By property, 331 RepeatBehavior property, 333

DoubleAnimationUsingKeyFrames class, 354

Double.NaN value, 330

Page 18: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

742

DownloadFile( ) method, 650—651 DownloadFileCompleted event, 652 downloading

progressive, 392—394 resources, 215 transmitting files with web service, 648—

653

DownloadProgress property, 394 DownloadProgressChanged event, 215—

216, 394 DownloadStringAsycn( ) method, 704 DownloadStringAsync( ) method, 215,

681—682 DownloadStringCompleted event, 215, 692 DownOnly value, 259 DoWork( ) method, 517, 667 DoWork event, 669, 671 DoWorkEventArgs object, 671, 675 dragging

dragging shapes, 128 making elements draggable with

behaviors, 444 MouseDragElementBehavior class, 445

DragInCanvasBehavior class, 442—443, 445 drawing model. See also geometry classes;

geometry mini-language; shapes

2-D, 251 brushes, 289—296 perspective transforms, 310—314 pixel shaders, 314—318 transforms, 303—310 transparency, 296—303 WriteableBitmap class, 318—321

drawing primitives, 251 drop-down lists, 165 DropShadowEffect class, 315—317 duplex services, 531—537

client code, 535—537 configuring, 532—533 interfaces, 533—534

Duration object, 331 Duration property

ColorAnimation class, 461

DoubleAnimation class, 326, 331, 333

dynamic control creation, 128 dynamic item lists, 173—175 dynamic resources, support for, 54 dynamic styles, 426—427 dynamic user interfaces, 323 dynamic value-resolution system, 112—

113, 324

■E EaseIn value, 338—341 EaseInOut value, 338—341 EaseOut value, 338—341 easing

animation, 337—343 key frames, 353

EasingFunction property, 337—338, 353 EasingFunctionBase class, 337—338 EasingMode property, 338, 340—341 Effect class, 314 Effect property, 318 effects

BlurEffect class, 315 DropShadowEffect class, 315—317 ShaderEffect class, 317—318 video effects, 405—411

eight ball page

abbreviated listing for, 39 full listing for, 49

ElasticEase class, 338—340 Element( ) method, 692 element tree, 51 ElementBrushes.xaml resource dictionary,

54 ElementEditingStyle property, 610 ElementName property, 57 elements. See also controls; HTML

elements

attaching event handlers to, 9—11 buttons, 155—158 connecting action to with trigger, 433—

434

Page 19: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

743

custom, 471 derivation of shapes, 251 docking, 76—77 events, 117—120 hiding, 228 hierarchy of, 118 inserting and removing, 499 making draggable with behaviors, 444 making partly transparent, 296—297 moving focus between, 135 period in name, 42 restricting behavior to specific, 441 shifting, 312 table of, 137—141 terminology, 7 where action is attached, 432

Elements( ) method, 692, 694 ElementsAfterSelf property, 695 ElementsBeforeSelf property, 695 ElementStyle property, 609—610 element-to-element binding

one-way, 56—57 two-way, 57—59

ElementToLogicalPoint( ) method, 420 Ellipse class, 129, 253—255 Ellipse element

description, 139 dragging shapes, 128 drawing outside allocated space, 260 frame-based animation of falling

circles, 371

EllipseGeometry class, 269—271 EllipseInfo class, 371 ellipses, 253—254

arcs, 275—277 placing, 257 sizing, 255

embedded fonts, 145—146 enableCacheVisualization parameter, 376,

379 enableFrameRateCounter parameter, 376,

379 enableGPUAcceleration parameter, 376

enableHtmlAccess parameter, 27, 512 enableNavigation property, 156 encapsulating animations, 365—370

page transitions, 366—367 PageTransitionBase class, 367 TransitionCompleted( ) event handler,

368 wipe transition, 368—370

encoding

compression modes, 399 Constant Bit-rate, 399 Expression Encoder, 396 H.264 encoding, 396 HtmlEncode( ) method, 498 Variable Bit-rate, 399 video, 396—398 Windows Media Encoder, 396

encryption, 169 EndLineCap property, 266, 269 EndPoint property, 291 EndpointAddress class, 523 endpoints, 707 entry page. See HTML test page ErrorException property, 386 ErrorMessage property, 592—593 errors

data binding validation, 546 image, 150 listing validation, 583 MediaElement handling, 386 monitoring container for error events,

588 onError parameter, 27 raising annotation, 591—592

escaping special characters, 498 EvenOdd fill rule, 269 EvenOdd value, 264, 280 event arguments, 190 event attributes, 48, 186 event bubbling, 120—125

BindingValidationError event, 549 example of, 122—125 handled events, 121—122

Page 20: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

744

higher-level control events, 121 KeyDown event, 132 KeyUp event, 132 overview, 117 preventing duplicated events, 121

event handlers

animation, 345, 361 attaching, 9—11, 48 combining shapes with

GeometryGroup, 271 containing application code,

connecting, 38 detaching, 11 dragging shapes example, 129—130 Handles statement, 48 jumping quickly from XAML to, 10 KeyDown event, 132 KeyUp event, 132 method naming conventions, 9 reason for creating trigger, 433 TextChanged event, 132 ToolTip control, 161

event routing, 117—130

description of, 117 element events, 117—120 event bubbling, 120—122, 125 handled events, 121—122 mouse capture, 127—128 mouse events example, 128—130 mouse movements, 125 mouse wheel, 125—127

event trigger

reason for creating, 433 starting animation with, 327

EventArgs object, 520 eventArgs.progress property, 195 EventName property, 434 events

AttachEvent( ) method, 494, 497, 502 ChildWindow control, 233 controlling from parts, 468 description of, 117 editing events, DataGrid, 619

element, 117—120 focus, 118 FrameworkElement class, 119 HTML DOM, 501 HtmlEventArgs object, 502 key modifiers, 134—135 keyboard, 118, 132—134 monitoring container for error events,

588 mouse, 118—119, 125—130 mouse capture, 127—128 mouse wheel, 125—127 shapes, 252 starting animation, 327—328 ToggleButton class, 157 UIElement class, 118—119 XAML, 48

EventTrigger class, 433—434, 444 ExceptionRoutedEventArgs object, 386 exceptions

control not raising, 468 NotifyOnValidationError property, 549—

551 ValidatesOnExceptions property, 547—

549 web service method, 521

Exit event, 190 ExpandRowGroup( ) method, 624 explosion effect, 365 Exponent property, 341 ExponentialEase class, 341 export feature, Deep Zoom Composer tool,

415—416 exporting clip art, 282—286

conversion tools, 284 Expression Design tool, 282 to XAML through XPS, 284—285

Expression Blend

behavior support, 430, 434—437 blend namespace, 36 community gallery, 249, 487 converting graphical text into path, 146 default triggers, 436—437 design process, 1

Page 21: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

745

developing behaviors in, 434 overview, 2 Samples project, 446 training videos, 3 using behaviors, 429

Expression Design tool, 262 Expression Encoder

adding markers with, 399—401 adjusting dimensions of video, 398 building media player, 401 choosing bit rate, 397 creating image thumbnails for markers,

404 description, 396 H.264 encoding, 396 overlays, 397 overview, 395 previewing file, 398 specifying destination file, 397 specifying source file, 397 synchronized video playback, 397 video encoding in, 397—398

Extensible Application Markup Language. See XAML

ExternalCallersFromCrossDomain attribute, 512

■F F command, 280 FadeElementEffect class, 366 FadeInAction action, 437—438 FadeOutAction action, 437 falling circles, 371 feeds, RSS, 703—705 file dialog classes

OpenFileDialog class, 645—647 SaveFileDialog class, 645—647

file management, 635—636 File property, 646 file transfers, 648—653 FileExists( ) method, 636 FileInfo class, 646 FileNotFoundException object, 219

Files property, 647 FileService class, 649—651 FileServiceClient class, 651—653 FileStream class, 646 Fill property, 253, 260, 262—263 Fill value, 150, 256—257, 296, 391 FillBehavior property, 332, 334 FillRule enumeration, 264—265 FillRule property

Geometry class, 280 GeometryGroup class, 272 Polyline class, 264

Filter property

OpenFileDialog class, 646 PagedCollectionView class, 622

FilterIndex property, 646 filtering, 170—173, 622 FilterMode property, 170, 173 FindContainer( ) method, 432 FindPrimes( ) method, 671—672, 675 FindPrimesCompletedEventArgs class,

663—666 FindPrimesThreadWrapper class, 663—667 FindPrimesWorker class, 673 Firefox support

ensuring, 25 mouse wheel events, 126

FirstDayOfWeek property, 179 fish-eye effect, 329 Fixed Decimal type, 570 Fixed size, sizing pages, 99 Flash applications, 527 Flat value, 266 Flickr

cross-domain access, 678 description of, 690 image search, 698—699 query-string arguments, 691 retrieving pictures from, 690

FlickrImage objects, 696 FlipButton part, 477 FlipButtonAlternate part, 477 FlipPanel control, 471—487

Page 22: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

746

adding class library project to existing solution, 472

adding default style with generic.xaml, 474—476

BackContent property, 473 ChangeVisualState( ) method, 474, 482—

483 ContentControl element, 477 ContentPresenter placeholder, 478 control classes derived from, 472 control templates, 478—479, 485—487 CornerRadius property, 474 creating properties for, 473 default control template, 474 DefaultStyleKey property, 476 defining state animations, 480—482 determining required elements, 482 ensuring most flexible template

support, 477 FlipPanel class, 472 Flipped state, 477 FrameworkElement element, 477 FrontContent property, 473 GetValue( ) method, 473 inheritance, 474 IsFlipped property, 474 mapping project namespace to xmlns,

475 Normal state, 476 OnApplyTemplate( ) method, 482—483 parts, 477 planning, 471—472 SetValue( ) method, 473 states, 476 TemplatePart attribute, 477 ToggleButton element, 479 ToggleButton states, 477 using, 484—485

Flipped state, 477 flow content model, 260 FluidMoveBehavior class, 445 focus

controls, 135 moving between elements, 135 Popup control, 161

tab sequence, 135 ToolTip control, 160

Focus( ) method

displaying and editing collection items, 561

HtmlElement class, 496

focus cue, 460—461 focus events, 118 FocusControlsOnClick property, 589 Focused state, 456, 460—461 FocusingInvalidControl event, 589 FocusStates group, 456, 460—461 font fallback, 145 font families, 143 FontFamily property, 143—146 font-related properties, 143—146 fonts, 144—146

embedding, 145—146 licensing issues, 146 non-standard, 145—146 underlining, 146

FontSize property

Style object, 426 TextBlock object, 143

FontSource property, 143, 146 FontStyle property, 143 FontWeight property, 143 Foreground property, 142, 289, 292 Forever value

DoubleAnimation class, 333 Duration object, 331

forms, 584—590 Forward button

designing, 244 state storage, 247

forward navigation, 244—245, 247 fragment marker, 239 fragment URI system, 240 Frame container class, 139 Frame control, 236—242

CacheSize property, 247 CanGoBack property, 244

Page 23: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

747

CanGoForward property, 244 Content property, 236 getting URI of current page, 239 GoBack( ) method, 244 GoForward( ) method, 244 JournalOwnership property, 240, 244 Navigate( ) method, 236—239, 241—242 Navigated event, 244 Navigating event, 240 navigation, 236 rounded borders, 236 Source property, 239 startup page, 240 UriMapper property, 242 using, 237

frame rate

adjusting, 375 animation performance, 374 enableFrameRateCounter parameter,

376

frame-based animation, 370—374 FrameworkElement class

ArrangeOverride( ) method, 91—93 creating actions, 431 Cursor property, 131 dependency properties, 110 derivation of shapes, 251 events, 119 FlipPanel control, 477 GetTemplateChild( ) method, 482—483 hierarchy of Silverlight elements, 118 MarginProperty dependency property,

110 MeasureOverride( ) method, 91—93 Style property, 425

From and To transitions, 463—464 From property

DoubleAnimation class, 326, 329—330 VisualTransition element, 463

FromArgb( ) method, 64 FrontContent property, 473 full-screen mode, 105—106

■G game programming. See animation GeneratedDuration property, 462, 465—466 GeneratedImages folder, 417 Generic Handler template, 685 generic.xaml file, 474—476 Geometry class, 269, 280 geometry classes

ArcSegment class, 274—277 BezierSegment class, 274 Clip property, 281—282 CombinedGeometry class, 270 EllipseGeometry class, 269—270 GeometryGroup class, 269, 271—272 LineGeometry class, 269—270 LineSegment class, 274 PathFigure class, 273 PathGeometry class, 269—270, 273, 279 PathSegment class, 274 PolyBezierSegment class, 274 PolyLineSegment class, 274 PolyQuadraticBezierSegment class, 274 QuadraticBezierSegment class, 274 RectangleGeometry class, 269—270 StreamGeometry class, 270

geometry mini-language, 279—280

C command, 280 A command, 280 evaluating parameters relative to

previous point, 280 F command, 280 H command, 280 L command, 279—280 M command, 279—280 Q command, 280 S command, 280 T command, 280 using commands in lowercase, 280 V command, 280 Z command, 279—280

Geometry object, 269—270, 304 GeometryGroup class, 269, 271—272 GeometryTransform property, 253

Page 24: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

748

GET request, 685 GetAttribute( ) method, 496 GetCategoriesWithProducts( ) method,

566—567 GetChild( ) method, 47 GetChildrenCount( ) method, 47 GetDirectoryNames( ) method, 636 GetElementByID( ) method, 496, 499 GetElementsByTagName( ) method, 496 GetErrors( ) method, 551 GetFileList( ) method, 650 GetFileListAsync( ) method, 651 GetFileNames( ) method, 636 GetHasErrors( ) method, 551 GetIsNetworkAvailable( ) method, 528 GetParent( ) method, 47 GetPosition( ) method, 125 GetProduct( ) method, 555 GetProduct stored procedure, 554, 558 GetProducts( ) method, 558—559 GetProperty( ) method

HtmlElement class, 497 HtmlWindow class, 503

GetPropertyName( ) method, 114, 116 GetResourceStream( ) method, 146, 185,

212, 215 GetRow( ) method, 114 GetServerTime( ) method, 520 GetServerTimeCompletedEventArgs class,

520 GetStyleAttribute( ) method, 496 GetTemplateChild( ) method, 482—483 GetUserStoreForApplication( ) method,

635 GetUserStoreForSite( ) method, 635 GetValue( ) method, 112, 114, 116, 473 GIF files, 148 GlobalOffsetX property, 312—313 GlobalOffsetY property, 312 GlobalOffsetZ property, 312 Glyphs element, 286 GlyphTemplate property, 588 GoBack( ) method, 244 GoForward( ) method, 244 GotFocus event, 118

GoToState( ) method, 483 GoToStateAction class, 445 GPU (graphics processing unit), 375—376 Gradient Obsession tool, 349 GradientOrigin property, 293—294 GradientStop class, 43 GradientStop element, 291—293 GradientStops element, 42, 45 grandpiano.jpg file, 211 graphic design tool, 1 graphics processing unit (GPU), 375—376 graphics programming, 375—380 Grid control

alignment properties, 81 Background property, 64 Column property, 79, 113 ColumnSpan property, 83, 85 combining nesting layout containers,

81—82 declaring without rows or columns, 227 dynamically loading user controls, 227 horizontal GridSplitter, 226 layout panels, 63 placing ellipse or rectangle, 257 putting Viewbox in Grid, 258 Row property, 79, 113 RowSpan property, 83, 85 ShowGridLines property, 78—79 sizing strategies for rows columns, 80—

81 spanning rows and columns, 83—84 wrapping Canvas in, 260

Grid element, 34, 448 Grid layout container, 78—84

choosing between, 90 column spanning, 83 ColumnDefinitions element, 78—79 description, 139 GridSplitter control, 84—87 RowDefinitions element, 78—79 UniformGrid container, 94—98 visibility of grid, 78 when to use, 84

GridlinesVisibility property, 605

Page 25: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

749

GridSplitter control, 84—87

accessing, 84 alignment, 85 assembly containing, 84 Background property, 85—86 description of, 139 displaying and editing collection items,

557 Height property, 85 HorizontalAlignment property, 85 resizing

rows or columns, 84 window with two splits, 86

ShowsPreview property, 86 VerticalAlignment property, 85 Width property, 85

GroupDescriptions collection, 623 grouping, 623—625 GroupName property, 157 groups, state. See state groups growStoryboard animation, 337—338 > character entity, 41, 142, 498

■H H command, 280 H.264 type, 383—384, 396 handled (suppressed) events, 121—122 Handled property, 125 HandleRequest( ) method, 712 Handles statement, 48 handshaking process, 707 Hard Rock Memorabilia website, 421 hard-coded page size, 26 hardware acceleration, 375—380

animation, 323 bitmap caching, 376—379 enabling, 376 evaluating, 379 implementing, 375

HasErrors( ) method, 551 head section, 503 Header property

TabItem control, 166 TreeViewItem object, 628

HeadersVisibility property, 605 height attribute, 25 Height property

Button class, 88 giving pages fixed-size, 99 GridSplitter control, 85 layout panels, 69, 72 MediaElement class, 404—408 RowDefinition object, 80 shapes, 253—255

Hidden value

ScrollBarVisibility enumeration, 102 UIElement class, 228

hiding elements, 228 hierarchical data, 629 HierarchicalDataTemplate object, 630 hierarchy of resources, XAML, 51—53 High Level Shader Language (HLSL), 317 history, browser, 231, 246 history support, 241—242 hit testing, 271 HitTest( ) method, 271 HLSL (High Level Shader Language), 317 HorizontalAlignment property

custom layout containers, 93 fixed-size window, 99 GridSplitter control, 85 layout panels, 68—69 shapes, 257, 260 StackPanel, 70

HorizontalContentAlignment property, 155

HorizontalGridlinesBrush property, 605 HorizontalOffset property, 160 HorizontalScrollBarVisibility property

DataGrid object, 605 ScrollViewer control, 102

HorizontalTemplate element, 467—469 HorizontalThumb element, 468—469 Host property, 184, 216 hosting Silverlight applications, 20

Page 26: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

750

Hover value, 155 HTML

adding elements to or removing from pages, 499

browser integration with Silverlight, 489

combining Silverlight with, 507—511 enableHtmlAccess parameter,

XXXparamYYY, 27 innerHTML property, 497—498 inserting and removing elements, 499 integrating Silverlight content into

ASP.NET application, 14 securing interoperability, 511—513 sizing Silverlight control to fit, 508—509

HTML DOM

events, 501 offsetLeft property, 510 offsetTop property, 510 replicating in managed code, 490 Silverlight and DOM, 498

HTML elements, 490—502

changing style properties, 500 exploring HTML elements on pages,

490 getting browser information, 491—492 handling JavaScript events, 501—502 HTML window, 492—493 inserting and removing elements, 499 inspecting documents, 494—496 manipulating, 496—500 placing Silverlight control next to, 509—

511 popup windows, 493

Html encoding, 491 HTML scraping, 680—684 HTML test page, 24—30

allowHtmlPopupWindow parameter, 493

allowHtmlPopupwindow parameter, 512

alternative content, 28 changing, 25

creating friendly install experience, 28—29

enableHtmlAccess parameter, 512 Firefox support, 25 mark of the Web, 29—30 navigation to external websites, 156 Safari support, 25 Silverlight parameters, 26—28 sizing Silverlight content region, 26

HtmlDecode( ) method, 699 HtmlDocument class, 494—496

AttachEvent( ) method, 494, 502 Body property, 494 Cookies property, 494 CreateElement( ) method, 494, 496, 499 DetachEvent( ) method, 494 DocumentElement property, 494 DocumentUri property, 494 GetElementByID( ) method, 496, 499 GetElementsByTagName( ) method,

496 IsReady property, 494 QueryString property, 494 Submit( ) method, 494

HtmlElement class, 496—500

AppendChild( ) method, 496, 499 AttachEvent( ) method, 497, 502 Children property, 494, 496 CreateElement( ) method, 494 CssClass property, 496, 500 DetachEvent( ) method, 497 Focus( ) method, 496 GetAttribute( ) method, 496 GetProperty( ) method, 497 GetStyleAttribute( ) method, 496 Id property, 496 Parent property, 494, 496 RemoveAttribute( ) method, 496 RemoveChild( ) method, 496, 499 RemoveStyleAttribute( ) method, 496 SetAttribute( ) method, 490, 496, 500 SetProperty( ) method, 490, 497—498 SetStyleAttribute( ) method, 496—497,

500

Page 27: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

751

TagName property, 496

HtmlEncode( ) method, 498 HtmlEventArgs object, 502 HTML-only websites, 3 HtmlPage class, 490

BrowserInformation property, 490 Document property, 490, 494 IsPopupWindowAllowed property, 493 Plugin property, 494 PopupWindow( ) method, 512 reading changing cookies, 491 RegisterCreatableType( ) method, 490 RegisterCreateableType( ) method, 506 RegisterScriptableObject( ) method,

504 RegisterScriptableType( ) method, 490 Window property, 490—491

HtmlPopupWindowOptions object, 493 HtmlWindow class, 492—493

AttachEvent( ) method, 502 CurrentBookmark property, 492 GetProperty( ) method, 503 Navigate( ) method, 492 NavigateToBookmark( ) method, 492 PopupWindow( ) method, 493

HTTP GET request, 685 HTTP handlers, 685 HTTP POST request, 685 HTTP status codes, 521 HttpContext class

accessing data cache, 530 accessing key ASP.NET objects, 530 consuming simple web service, 685 Current property, 530

HttpUtility class

HtmlDecode( ) method, 699 HtmlEncode( ) method, 498 UrlEncode( ) method, 691

HyperlinkAction class, 445 HyperlinkButton class, 139, 155—156 HyperlinkButton element, 245 hyperlinks, 245

■I IAsyncTaskClient interface, 534 IAsyncTaskService interface, 533—534 Id property, 496 IDataError interface, 592 IDataErrorInfo interface, 539 IDictionary interface, 45 IEnumerable interface

binding to collection of objects, 557 binding to LINQ expression, 563—564 querying XDocument with LINQ, 695

Ignorable property, 36 IHttpHandler interface, 685 IIS Media Services, 395 IIS Smooth Streaming, 394—396 IL code, 20 IList interface, 45—46 Image class, 139, 152, 210—214, 218, 573 Image element, 148—151

image sizing, 149 ImageFailed event, 150 Source property, 148—149, 296 Stretch property, 149 transparency, 298

ImageBrush class, 295—296

AlignmentX property, 296 AlignmentY property, 296 ImageSource property, 295 making elements partly transparent,

297 Stretch property, 296

ImageFailed object, 150, 215 ImagePathConverter class, 572, 574 ImagePathConverter element, 573, 579,

608 images, 148—151

creating Deep Zoom image set, 413—417 data template displaying, 580 Deep Zoom, 411—421 image errors, 150 sizing, 149—150 transparency information, 296

Page 28: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

752

ImageSource property, 295 ImageUrl property, 696 ImplicitStyleManager object, 470 IMultiValueConverter interface, 572 IncreaseQuotaTo( ) method, 638—639 indexed navigation, 400 inheritance

dependency property precedence, 113 hierarchy for shapes, 252 property, 453 styles, 427—428

initialization parameters, 187—189 InitializeComponent( ) method, 10, 38 initParams parameter, 27 Inlines collection, 147 innerHTML property, 497—498 innerText property, 497 INotifyCollectionChanged interface, 562 INotifyPropertyChanged interface

building data service, 553 change notification, 551 master-details display, 565

installation, Silverlight, 28—29 Interactions.dll assembly, 430 Internet Explorer, 30, 135 interoperability, HTML, 511—513 interpolation, linear, 338 Invalidate( ) method, 321 InvalidFocused state, 548, 550 InvalidUnfocused state, 548 Invoke( ) method, 432—433 InvokeActions( ) method, 433 InvokeSelf( ) method, 503 IP addresses, 706—707 IsAlive property, 658 IsChecked property

DataGridCheckBoxColumn class, 608 ToggleButton class, 157

IsClosed property, 273—274, 279—280 IsDropDownOpen property, 179 IsEnabled property, 135, 161, 167 IsFalling property, 362—363 IsFilled property, 273 IsFlipped property, 474

IsFrozen property, 614 IsFullScreen property, 106 IsHitTestVisible property, 389 IsIndeterminate property, 177 IsLargeArc property, 276, 280 IsMuted property, 387, 390 isolated storage, 633—645

across applications, 635 application settings, 644—645 directory management, 635 file management, 635—636 FileService class, 649—651 FileServiceClient class, 651—653 information stored in, 634 multipart forms, 634 OpenFileDialog class, 645, 646—647 opening, 635 persistence of, 634 reading and writing data, 636—638 reading files with OpenFileDialog, 645—

647 requesting more space, 638—641 reviewing quotas for applications, 640 SaveFileDialog class, 645, 647—648 scope of, 634 Silverlight client, 651—653 transmitting files with web service, 648—

653 writing files with SaveFileDialog, 645,

647—648 with XmlSerializer, 641—644

IsolatedStorageFile class

AvailableFreeSpace property, 638—639 CreateDirectory( ) method, 636 CreateFile( ) method, 636 DeleteDirectory( ) method, 636 DeleteFile( ) method, 636 DirectoryExists( ) method, 636 FileExists( ) method, 636 GetDirectoryNames( ) method, 636 GetFileNames( ) method, 636 GetUserStoreForApplication( ) method,

635 GetUserStoreForSite( ) method, 635

Page 29: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

753

IncreaseQuotaTo( ) method, 638—639 OpenFile( ) method, 636 overview, 635 Quota property, 639 Remove( ) method, 636, 641

IsolatedStorageFileStream object, 636—637 IsolatedStorageSettings class, 644—645 IsOneWay property, 533 IsOpen property, 161 IsPopupWindowAllowed property, 493 IsReadOnly property, 167, 424, 616 IsReady property, 494 IsReusable property, 685 IsRunningOutOfBrowser property, 244 IsSelected property, 164 IsTabStop property, 135 IsTextCompletionEnabled property, 170 IsThreeState property

DataGridCheckBoxColumn class, 608 ToggleButton class, 157

IsTodayHighlighted property, 179 IsTotalItemCountFixed property, 627 ItemFilter property, 171 Items property, 47, 705 ItemsControl class

data binding properties, 557 DisplayMemberPath property, 557, 560 ItemsPanel property, 557 ItemsSource property, 162, 557 ItemTemplate property, 557 placeholder for, 450

ItemsPanel property, 557, 581 ItemsPresenter placeholder, 450 ItemsSource property

AutoCompleteBox control, 169, 172—174

DataForm object, 590 DataGrid object, 603 ItemsControl class, 162, 557, 559, 579 TreeView object, 629—630

ItemTemplate property

data templates, 577 ItemsControl class, 557

TreeView, 630

IValueConverter interface, 569, 612, 624

■J JavaScript

creating scriptable Silverlight method, 504

handling events, 501—502 onLoad parameter, 28 onResize parameter, 28 onSourceDownloadComplete

parameter, 28 onSourceDownloadProgressChanged

parameter, 28 registering Silverlight methods for, 490 ScriptableMemberAttribute class, 491 ScriptableTypeAttribute class, 491 ScriptObject class, 491 securing HTML interoperability, 512 updateSilverlight( ) function, 506

JavaScript Object Notation (JSON), 700—702

Join( ) method, 658 joins

line, 265—267 StrokeLineJoin property, 266

JournalOwnership property, 240, 244 JPEG files, 148, 416 JSON (JavaScript Object Notation), 700—

702

■K Key attribute, 50 Key property, 132 Keyboard class, 134 keyboard events, 132—134

evaluating nonstandard keys, 132 event bubbling example, 124 key modifiers, 134—135 multiple key presses, 133 overview, 118 repeated key presses, 133

Page 30: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

754

KeyDown event, 118—119, 132 KeyEventArgs object, 132 key-frame animation, 351—354

animating objects, 352 classes, 352 custom transitions, 465 data type of Value property, 351 discrete key frames, 352 easing key frames, 353 KeyTime property, 351 linear key frames, 352 overview, 326 spline key frames, 353—354 Value property, 351

key-spline animation, 354 KeySpline property, 353 KeyTime property, 351 KeyTrigger class, 445 KeyUp event, 118—119, 132

■L L command, 279—280 Label control class, 584—586

accessing, 584 description of, 139, 583 Target property, 585 using with smart data classes, 584

LargeChange property, 176 LastChildFill property, 76 latency issues, 391 layout containers, 61—66

applying transforms to elements in, 307—308

ArrangeOverride( ) method, 93 attached properties, 69 borders, 65—66 Canvas container class, 63, 87—91, 138 Children property, 47 choosing between, 90 clipping, 89 coordinate-based, 87 core layout panels, 62 custom, 91—99

DockPanel control, 62, 74, 76—78 Ellipse element, 139 full-screen mode, 105—106 Grid control, 63, 78—84, 139 hidden elements, 228 Line element, 139 MeasureOverride( ) method, 91—93 MediaElement element, 140 MultiScaleImage element, 140 nesting, 63, 81—82 panel background, 63—65 placing ellipses or rectangles, 257 placing inside Viewbox, 258 radial panel, 99 receiving mouse events in, 125 Rectangle element, 140 scaling pages, 103—105 scrolling pages, 101—102 sizing pages, 99—106 StackPanel, 62, 66—74, 140 swapping entire page content, 228 two-step layout process, 91—93 UniformGrid layout container, 94—98 WPF layout model, 61 WrapBreakPanel layout panel, 114—117 WrapPanel control, 62, 74—76

layout control

combining Silverlight and HTML content, 507—511

sizing Silverlight control to fit its content, 508—509

layout panels

adding VisualStateManager to templates, 457

Canvas layout container, 63, 87—91 DockPanel control, 62, 74, 76—78 Grid layout container, 63, 78—84 GridSplitter control, 84—87 Height property, 69, 72 HorizontalAlignment property, 68—69 Margin property, 68, 70—71 MaxHeight property, 69 MaxWidth property, 69 MinHeight property, 68

Page 31: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

755

MinWidth property, 68 overview, 62 properties, 68 StackPanel layout container, 62, 66—74 VerticalAlignment property, 68—69 Width property, 69, 72 WrapBreakPanel custom layout panel,

114—117 WrapPanel control, 62, 74—76

layout pass, 91 layout properties

alignment, 68—70 margins, 68, 70—72 size, 68—69, 72—74 StackPanel layout container, 68

LayoutUpdated event, 120 Left property

attached properties, 113 choosing property to animate, 343 dragging shapes example, 130 drawing line on Canvas, 260

legacy web pages, 489 licensing issues, 146 lifetime, animation, 331—333 line caps, 265—267 Line class, 260—261, 265—266 Line element, 139 line joins, 265—267 linear interpolation, 326, 330, 338 linear key frames, 352 LinearGradientBrush class, 290—293

animating brushes, 349 changing lighting or color, 458 creating, 42 EndPoint property, 291 GradientStop element, 291—292 GradientStops element, 45 GradientStops property, 42 OpacityMask property, 299 page transitions, 368—369 proportional coordinate system, 291—

293 reflection effect, 310 SpreadMethod property, 292

StartPoint property, 291

LineBreak class, 142, 147 LineBreakBefore property, 116 LineGeometry class, 269—270 LineHeight property, 148 lines

caps and joins, 265—267 curved, 261 dashed, 267—269 flow content model, 260 negative coordinates, 260 relative position of coordinates, 260 straight, 274

LineSegment class, 274, 279—280 LineStackingStrategy property, 148 linking, deep, 239 linking feature, Visual Studio, 601 Links property, 705 LINQ

LINQ to JSON, 700 querying XDocument with, 695—697

LINQ expression

binding to, 562—564 creating collection of FlickrImage

objects, 696

list controls, 47 ListBox class, 163—165

default event, 436 description of, 140 ListBoxItem elements, 163—164 nesting elements inside, 164 SelectedIndex property, 165 SelectedItem property, 163—164 SelectedItems collection, 163—164 SelectionChanged event, 165 SelectionMode property, 163 virtualization, 165

ListBoxItem control class

determining type of user control to create, 227

IsSelected property, 164 ListBox control, 163—164

Page 32: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

756

Listen( ) method, 724 listen model, 440 literals, 596 Load( ) method, 692 LoadComponent( ) method, 185 Loaded event, 120, 169 loading user controls, 226 LoadingRow event, 611, 613 local connection model, 722—724 local values, 113 LocalMessageReceiver class, 723—724 LocalMessageSender class, 723 LocalOffsetX property, 312—313 LocalOffsetY property, 312 LocalOffsetZ property, 312 lock keyword (CS), 664 locking, threading, 664 LogicalToElementPoint( ) method, 420 lookless controls, 470 Loop check box, 390 looping playback, 390 LostFocus event, 118 LostMouseCapture event, 119, 128 < character entity, 41, 142, 498

■M M command, 279—280 Mac support, 126 Main( ) method, 711 main page, bomb-dropping game, 356—357 MainPage class, 38 MainPage.xaml file, 6—7, 38 MainPage.xaml.cs file (CS), 6, 9, 38 MainPage.xaml.vb file (VB), 6, 9, 38 malicious code, 511, 651 ManagedThreadId property, 658 mapping, URI, 242—244 margin controls, 70—72 margin properties, 70—72 Margin property

layout panels, 68, 70—71 shapes, 260 Style object, 426

MarginProperty dependency property, 110—111

mark of the Web, 29—30 Marker property, 401 MarkerReached event, 401, 403—404 markers, 399—404

adding with Expression Encoder, 399—401

creating image thumbnails for markers, 404

indexed navigation, 400 TimelineMarker object, 401 using in Silverlight application, 401—404

Markers collection, 402—404 markup extensions. See XAML markup

extensions markup-compatibility, 36 masks, opacity, 299—300 master-details display, 564—567 Match( ) method, 683 Matrix3DProjection class, 311 MatrixTransform class, 304 maxFramerate parameter, 375 MaxHeight property, 69, 99 Maximum property, 175 MaxLength property, 167 MaxWidth property, 69, 99 mc prefix, 36 Measure( ) method, 91—92 measure pass, 91 MeasureCore( ) method, 91 MeasureOverride( ) method

custom layout containers, 91—93 modifying, WrapBreakPanel class, 116 UniformGrid container, 96

media codecs, support for, 383 media content, enabling or disabling, 640 media element, 392 Media Encoder, Windows, 396 media files

adding to project, 385 deploying alongside XAP file, 385 deploying inside XAP package, 385 downloading asynchronously, 385

Page 33: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

757

embedding in XAP package, 384 hosting large, 393 keeping separate, 385 markers, 399—404 playing multiple, 386—387 progressive downloading, 392, 394 separate-stream script commands, 403 streaming, 393 Windows Media metafiles, 391

Media namespace, 269 media player, building, 401 Media Services, IIS, 395 MediaElement class, 384—394

AutoPlay property, 385—386 Balance property, 387 BufferingTime property, 394 CanPause property, 386 CanSeek property, 386 client-side playlists, 391 Clipping property, 406 controlling playback, 385—387 creating actions, 432 creating MediaElement in code, 386 CurrentState property, 388 FindContainer( ) method, 432 handling errors, 386 Height property, 404, 408 IsMuted property, 387, 390 keeping track of MediaElement objects,

387 MarkerReached event, 401, 403—404 Markers collection, 402—404 MediaOpened event, 402—404 NaturalDuration property, 389 NaturalVideoHeight property, 391 NaturalVideoWidth property, 391 Opacity property, 406 Pause( ) method, 385 Play( ) method, 385—386 playback when using VideoBrush, 405 playing multiple media files, 386 playing multiple sounds, 386—387 playing video files, 391 Position property, 385, 388 progressive downloading, 392—394

removing after playback, 386 server-side playlists, 392 SetSource( ) method, 385—386 Source property, 386, 392 Stop( ) method, 385 stopping original video window

appearing, 404 streaming, 393 Stretch property, 391 Tag property, 386 video puzzle, 408 Visibility property, 404 Volume property, 387 Width property, 404, 408

MediaElement tag

description of, 140 MediaFailed event, 386 playing sound, 384 URL system, 384

MediaEnded event, 386, 390 MediaFailed event, 215, 386 MediaOpened event, 402—404 MediaStreamSource object, 391 MergedDictionaries collection, 55 Message class, 719 message-passing mechanism, 722 messages

receiving, 724 sending, 723

messaging server, 713—716 messenger client, 717—721 MessengerConnection class, 713—715 MessengerServer class, 713—715 metacharacters, 594—596 metadata, pulling out of data objects, 583 metafiles, Windows Media, 391 method query-string argument, Flickr, 691 Microsoft Expression Blend. See

Expression Blend Microsoft.Expression.Interactions.dll

assembly, 430, 434 Microsoft.Expression.Interactivity.dll

assembly, 444—445 MinHeight property, 68, 99

Page 34: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

758

Minimum property, 176 MinimumLength property, 593 MinimumPopupDelay property, 173, 175 MinimumPrefixLength property, 173, 175 minRuntimeVersion parameter, 27, 29 MinWidth property, 68, 99 Miter value, 266 mitered edges, 267 modal dialog boxes, 225, 231 Mode property, 57, 544—545 models

local connection, 722—724 parts and states, 454—470 single-threaded apartment, 659

Modifiers property, 134 mouse capture, 119, 127—128, 130 mouse cursors, 131—132 mouse events, 118—119, 125—130

animations when user moves mouse over button, 457

avoiding animation reset, 329 event bubbling, 124 example of, 128—130 LostMouseCapture event, 119 mouse movements, 125 mouse wheel, 125—127 moving off element before MouseUp

event, 127 receiving notification of mouse up

events, 127 slider ignoring mouse activity, 389 state groups, 456

mouse pointers, 131—132 mouse wheel, 125—127 MouseCapture( ) method, 127—128 MouseDown event, 127, 130 MouseDragElementBehavior class, 445 MouseEnter event, 119, 125 MouseEventArgs object, 125 MouseLeave event, 119, 125, 345, 511 MouseLeftButtonDown event, 118—122,

124, 127, 129, 362 MouseLeftButtonUp event, 119, 121, 127 MouseMove event, 119, 125, 130

MouseOver state, 456—457, 459—461, 463, 466

MouseUp event, 127, 130 MouseWheel event, 119, 126 MouseWheelEventArgs class, 126 MoveToXyxPage method, 625 Movie Maker, Windows, 396 MP3 files, 383 MPEG files, 384 mscorlib.dll assembly, 17, 21 multipart forms, 634 MultiScaleImage element, 140, 418—420 Multiselect property, 647 multithreading

AutoCompleteBox, 174 BackgroundWorker class, 668—676 BeginAcceptTcpClient( ) method, 710 cancelling long-running tasks, 666—668,

674—676 DispatcherTimer class, 657 FindPrimesThreadWrapper class, 663—

664 lock keyword, 664 locking, 664 marshalling code to user interface

thread, 659—661 messaging server, 713 overview, 655—657 pausing and resuming threads, 659 performance, 657 preemptive multitasking, 655 reasons for using, 656 setting thread priorities, 659 SyncLock keyword, 664 Thread class, 657—658 thread wrapper, 661—666 time slice, 655

MustInherit class (VB), 269 MustOverride keyword (VB), 368 Mute checkbox, 390

■N Name attribute, 38, 54 Name property

Page 35: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

759

Display attribute, 585 FileInfo class, 646 Popup control, 161 Thread class, 658

named group, 683 namespaces

changing, 18 prefixes as, 35—37, 75, 584, 603 XDocument dealing with, 697 XNamespace class, 697

naming conventions

attached property methods, 114 dependency properties, 110 event handler methods, 9

naming elements, 38—39 NaN value, 330 NaturalDuration property, 389 NaturalVideoHeight property, 391 NaturalVideoWidth property, 391 Navigate( ) method

Frame control, 236—239, 241—243 HtmlWindow class, 492 PageTransitionBase class, 367 retaining page state, 230

Navigated event, 244 NavigateToBookmark( ) method, 492 NavigateUri property, 245 Navigating event, 240 navigation

browser history, 231 browser URI integration, 239—241 caching page object in memory, 230,

247 deep linking, 239 do-it-yourself navigation, 225 forward and backward, 244—245 Frame control, 236—242 history support, 241—242 HyperlinkButton elements, 245 hyperlinks, 245 loading user controls, 225—231 navigating over XDocument, 692—695 overview, 225

Page class, 236, 245—248 passing information to destination

page, 246 state storage, 247 System.Windows.Controls.Navigation.

dll assembly, 22 triggering page navigation from inside

pages, 246 URI mapping, 242—244

Navigation Application project template, 248

navigation templates, 248—249 NavigationCacheMode property, 247 NavigationContext object, 246 NavigationService object, 246   character entity, 499 negative coordinates, 260 nesting

content, 154 elements, 45—47, 151 layout containers, 81—82

.NET Framework, 11, 21

.NET namespace, 37

.NET RIA Services, 531 network monitoring, 528—529 NetworkAddressChanged event, 528 NetworkChange class, 528 networking

assumption for examples, 678 cross-domain access, 678—680 handling multiple requests, 710 HTML scraping, 680—684 interacting with the Web, 677—688 processing XML, 688—689 REST-based web services, 684—688 RSS, 703—705 services requiring XML data, 697—699 services returning JSON data, 700—702 services returning SOAP data, 699 services returning XML data, 690—697 sockets, 706—721

NetworkInterface class, 528 Node (XyzNode) property, 695 Nodes( ) method, 692

Page 36: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

760

None value

AutoCompleteFilterMode enumeration, 171

Stretch enumeration, 150, 256, 296

Nonzero fill rule, 269 Nonzero value, 264—265, 280 Normal state, 456—457, 459, 466, 476 nostdlib argument, 17 NotifyOnValidationError property, 549—

551, 586 null reference, 65 NumericButtonCount property, 627 NumericButtonStyle property, 627

■O obfuscation, 20, 633, 638 object element

alternative content if not understood, 28

enableNavigation property, 156 HTML test page, 25 integrating Silverlight content into

ASP.NET application, 14 TestPage.html file, 6

ObjectAnimationUsingKeyFrames, 463 Objects and Timelines pane, 435 ObservableCollection class, 559, 561—562 Offset property, 43 offsetLeft property, 510 offsets, 160 offsetTop property, 510 onabort event, 501 OnAcceptTcpClient( ) callback, 710 OnApplyTemplate( ) method, 482—483 OnAttached( ) method, 433, 442 onblur event, 501 onchange event, 501 onclick event, 501—502 OnCompleted( ) method, 662—663 OnDataReceived( ) callback, 714 OnDetaching( ) method, 433, 442 onerror event, 501 onError parameter, 27

OneTime value, 545 one-way animation, 332 one-way element binding, 56—57 OneWay value, 545 onfocus event, 501 onkeydown event, 501 onkeyup event, 501 onload event, 501 onLoad parameter, 28 onmouseout event, 501 onmouseover event, 501, 510 OnNavigatedFrom( ) method, 247—248 OnNavigatedTo( ) method, 247—248 OnNavigatingFrom( ) method, 247 OnPropertyChanged( ) method, 552, 553 onResize parameter, 28 onselect event, 501 OnSocketConnectCompleted( ) event, 718 OnSocketReceive( ) event handler, 721 onSourceDownloadComplete parameter,

28, 196 onSourceDownloadProgressChanged

parameter, 28, 196 onunload event, 501 opacity masks, 299—300 Opacity property

animations in FocusStates group, 460 changing element appearance, 457 DropShadowEffect class, 315 making elements partly transparent,

297 MediaElement class, 406 Slider class, 389 UIElement class, 297, 343

OpacityMask property, 297, 299—300, 406 OpenAsync( ) method, 681 OpenFile( ) method, 636, 648 OpenFileDialog class, 645—647 OpenRead( ) method, 646 OpenReadAsync( ) method, 215—216, 681,

704 OpenReadCompleted event, 215 OpenReadCompletedEventArgs object,

216 OpenText( ) method, 646

Page 37: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

761

OperationContract attribute, 517, 533 Orientation property

StackPanel layout container, 67 WrapBreakPanel class, 115 WrapPanel control, 75

Oscillations property, 338—340 out-of-browser applications, 490 Output Directory, 214 overlays, 397

■P Pad value, 292 Padding property

Border class, 65 Button control, 82 content controls, 155 Style object, 426 TextBlock element, 142

Page control class, 245—248

ChangeText( ) method, 505 derivation of, 246 methods, 246—247 navigation, 236 NavigationCacheMode property, 247 NavigationContext property, 246 NavigationService property, 246 OnNavigatedFrom( ) method, 247—248 OnNavigatedTo( ) method, 247—248 OnNavigatingFrom( ) method, 247 properties, 246 state storage, 247 Title property, 246 triggering page navigation from inside

pages, 246

page transitions, 366—370 PageCount property, 626 PagedCollectionView class, 621—625

binding to control, 621 Filter property, 622 filtering, 622 GroupDescriptions collection, 623 grouping, 623—625

methods for changing pages, 625 MoveToXyxPage methods, 625 overview, 616 PageIndex property, 625 PageSize property, 625 paging, 625 SortDescription objects, 622 sorting, 622

PageIndex property, 625 PagerDisplayMode options, 627 pages. See web pages Pages enumeration, 230 PageSize property, 625 PageTransitionBase class, 367, 370 panel background, 63—65 Panel class

Background property, 62—63, 65 Children property, 62 hierarchy of, 62 layout containers deriving from, 61 public properties, 62

panels

Canvas layout container, 63, 87—91 DockPanel control, 62, 74, 76—78 Grid layout container, 63, 78—84 GridSplitter control, 84—87 StackPanel layout container, 62, 66—74 WrapPanel control, 62, 74—76

<param> element, 26—28, 187 ParameterizedThreadStart delegate, 657 Parent property

HtmlElement class, 494, 496 XElement object, 695

Parse( ) method, 570, 692 parsing XML, 692 parts

common patterns of element usage, 468

control changing visibility of, 468 control handling events from, 468 control not raising exception if missing,

468 FlipPanel control, 477

Page 38: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

762

naming conventions, 477 overview, 455 Slider control, 466—470

parts and states model, 454—470

Button control, 456—459 showing focus cue, 460—461 Slider control, 466—470 transitions, 461—466

Password property, 169 PasswordBox control class, 140, 168—169 PasswordChar property, 168 Path argument, 57 Path class

Data property, 269 description, 253 geometry mini-language, 279—280 path versus geometry, 270 stripping path information from file

names, 650

Path element

Clip property, 281 combining shapes with

GeometryGroup, 271—272 EllipseGeometry class, 271 LineGeometry class, 270 RectangleGeometry class, 270

path mini-language, 279—280 Path property, 57 Path shape, 304 PathFigure class, 273—274 PathFigure element, 279—280 PathGeometry class, 269—270, 273—279 PathSegment class, 274 Pause( ) method, 385 PCM-encoding, 391 PDB files, 18 PenLineJoin enumeration, 266 Percentage type, 570 performance

animation, 374—380 assembly caching, 23 dependency properties, 110 multithreading, 657

period (.), 42 perpage query-string argument, Flickr, 691 persistent cookies. See isolated storage perspective projections, 346—348 perspective transforms, 289, 310—314 phishing, 678 pixel shaders, 314—318

animating, 349—351 BlurEffect class, 315 custom, 317 description of, 289 DropShadowEffect class, 315—317 HLSL code, 317 RegisterPixelShaderSamplerProperty( )

method, 318 ShaderEffect class, 317—318 WPF Pixel Shader Effects Library, 318

Pixels property, 319 placeholders, 450 placing resources

in application assembly, 210—212 in application package, 212—213 on Web, 213—215

PlaneProjection class, 311—314, 346 PlatformKeyCode property, 132 Play( ) method, 385—386 playback

animation, 334—336 MediaElement controlling, 385—387,

390 temporarily muting without pausing,

387 video, 395—411

playlists

client-side, 391 server-side, 392

PlaySoundAction class, 431—433, 440, 445 Plugin property, 494 PNG files, 148, 416 Point property

ArcSegment class, 275 LineSegment class, 274

PointAnimation class, 348

Page 39: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

763

PointAnimationUsingKeyFrames class, 351 PointCollection object, 261 pointers. See mouse cursors Points property, 261 policy file, 678, 709—711 policy server, 708—713 PolicyConnection class, 709—713 PolicyServer class, 709—711 polling, 531 PolyBezierSegment class, 274 Polygon class, 260, 262—265 polygons, 262—265 Polyline class, 252, 261—266 polylines, 261—262 PolyLineSegment class, 274 PolyQuadraticBezierSegment class, 274 PopulateComplete( ) method, 175 Populating event, 173—174 Popup control, 161—162 popup windows, 161—162, 231, 493, 512 PopupWindow( ) method

HtmlPage class, 512 HtmlWindow class, 493

port numbers

creating TCP connection, 707 messaging client, 718 messaging server, 713 policy file rule, 709 sockets, 706 TcpListener class, 710

ports

configuring web service URL, 522—524 handling multiple requests, 710 sockets, 706

position (in audio file), 389 Position property, 385, 388 PositiveInfinity value, Double type, 92 POST request, 685 postback mechanism, 17 Power property, 341 PowerEase class, 341 precedence, 109, 112—113 preemptive multitasking, 655 prefixes as namespaces, 35—37, 75, 584, 603

PrepareStoryboard( ) method, 367—368 PreparingCellForEdit event, 620 presentation namespace, XAML, 35 Press value, 155 Pressed state, 456, 460 PriceConverter class, 571 prime numbers, 663 primitives, drawing, 251 priority, 109, 112—113 ProcessRequest( ) method, 685 Product class, 551—553

changing, 545, 551—552 creating, 543, 544, 558 CustomValidation attribute, 598 data templates, 577, 579 displaying, 560 displaying data from, 542 UnitCost property, 568—571

ProductImage field, 572 ProductList.bin file, 215 ProductList.xml file, 212 ProductValidation class, 597—598 programming animation. See animation progress bar

improving progressive downloading, 394—395

SizeChanged event, 673 tracking progress, 672—674

ProgressBar control class, 140, 177 ProgressChanged event, 672—674 progressive downloading, 392—394

adaptive streaming, 395 bit rate, Expression Encoder, 397 improving, 394—395 URLs triggering Silverlight to use, 393

Projection class, 311 Projection property, 313 projections

applying, 313—314 Matrix3DProjection class, 311 PlaneProjection class, 311—312 Projection class, 311 XML document, 696

Page 40: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

764

projects

creating ASP.NET-hosted, 12—17 creating stand-alone, 4—6 file with information about, 6 Navigation Application project

template, 248

Properties window, 218 property inheritance, 453 property sharing, 111 property value inheritance, 113 property wrapper, 112—115 property-attribute syntax, 43 PropertyChanged event, 551—552 property-element syntax, 42—43 PropertyGroupDescription object, 623—624 PropertyMetadata object, 111, 113 property-resolution system, 331 proportional coordinate system

LinearGradientBrush class, 291 RadialGradientBrush class, 293

proportional sizing, 80—81 proxy class

calling web services, 519—521 configuring web service URL, 523 creating to call web services, 517—519 duplex services, 535 generating proxy code at command

line, 519

public properties, 62

■Q Q command, 280 QuadraticBezierSegment class, 274, 280 QuadraticEase class, 341 QuarticEase class, 341 query string parameters, 684 query-string arguments, 243, 247, 691 QueryString property

HtmlDocument class, 494 NavigationContext object, 246

QuinticEase class, 341 &quot; character entity, 40

Quota property, 639 quota size, isolated storage

determining, 639 increasing, 638—639 reducing, 641 reviewing quotas for applications, 640

■R radial panel, 99 RadialGradientBrush class, 293—295

animating brushes, 348—349 Center property, 294 changing lighting or color, 458 GradientOrigin property, 293—294 GradientStop element, 293 OpacityMask property, 299 overview, 290 proportional coordinate system, 293 RadiusX property, 294 RadiusY property, 294

RadioButton control class, 140, 157 Radius property, 315 RadiusX property, 254, 270—271, 294 RadiusY property, 254, 271, 294 random number, displaying, 506 Range attribute, 593 RangeBase class, 175—176 raw audio video pipeline, 391 Read( ) method, 646 reading data, 636—638 reading files, 645—647 ReadInt32( ) method, 637 ReadObject( ) method, 701 ReadResponse( ) method, 687—688 ReadToEnd( ) method, 637 Really Simple Syndication (RSS), 703—705 ReceiveAsync( ) method, 717 ReceiveMessage( ) method, 715 receiving messages, 721, 724 Rectangle class, 253—255 Rectangle element, 140, 260, 436 RectangleGeometry class, 269—270 rectangles, 253—254

Page 41: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

765

placing, 257 sizing, 255

reference types, 325 Reflect value, 292 reflection, 227, 308—310, 406—407, 456 Reflector tool, 20, 136 Regex class, 683 Register( ) method, 111 RegisterAttached( ) method, 114 RegisterCreatableType( ) method, 490 RegisterCreateableType( ) method, 506 RegisterPixelShaderSamplerProperty( )

method, 318 RegisterScriptableObject( ) method, 504 RegisterScriptableType( ) method, 490 regular expressions, 594—596, 682—683 RegularExpression attribute, 594—596 RelativeTransform property, 349, 406 Release value, 155 Remove( ) method, 636, 641, 645 RemoveAttribute( ) method, 496 RemoveChild( ) method, 496, 499 RemoveElementAction class, 445 RemoveHandler statement (VB), 11 RemoveStyleAttribute( ) method, 496 Render( ) method, 320—321 RenderAtScale property, 379 Rendering event, 370, 372 RenderTransform property

animating transforms, 344 transforming shapes, 305 UIElement class, 307 video effects, 405

RenderTransformOrigin property

animating transforms, 344 RotateTransform class, 306—307 ScaleTransform class, 310 UIElement class, 307

Repeat value, 292 RepeatBehavior property

ColorAnimation class, 464 DoubleAnimation class, 333

RepeatButton control class, 156

ReportError( ) method, 190 ReportProgress( ) method, 672—673 request arguments, Flickr, 691 Request object, ASP.NET, 530 requests, networking, 710 Required attribute, 585, 591, 593 resizing pages. See sizing pages resource collections, 55 resource dictionaries, 54—55 ResourceClassLibrary assembly, 217 ResourceDictionary object, 426, 475—476 resources

accessing in code, 53—54 Application.Resources section, 52—53 assembly, 50 creating set of related styles, 450 defining colors as, 454 defining control templates as, 449 dynamic resources, 54 GetResourceStream( ) method, 146 hierarchy of, 51—53 organizing with resource dictionaries,

54—55 performing recursive search of element

tree for, 51 storing data objects as, 544—545 XAML, 49—55

Resources collection

accessing resources in code, 53 animating transforms, 344 starting animation with code, 328 XAML, 50—51

Resources property, 50, 184—185, 212—213, 215, 217

Resources section, 52—53 REST-based web services, 684—688 Result property

DoWorkEventArgs object, 671 GetServerTimeCompletedEventArgs

class, 520 RunWorkerCompletedEventArgs class,

671

retrieving resources programmatically, 212

Page 42: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

766

ReturnResult( ) method, IAsyncTaskClient, 533—534

reverse engineering, 20—21 RGB values, 64 root visual, 228—229, 232 RootUri property, 572 RootVisual property, 184, 186, 229 RotateTransform class, 303—307, 343, 458,

480 rotation, 311 RotationX property, 311, 347 RotationY property, 311, 347 RotationZ property, 311, 347 Round value, 266 rounded corners, rectangles, 254 routed events. See event routing row details display area, 613—614 Row property, 79, 113—114 RowBackground property, 604 RowDefinition object, 80, 85 RowDefinitions element, 78—79 RowDetailsTemplate property, 613 RowDetailsVisibilityMode property, 614 RowEditEnded event, 620 RowEditEnding event, 620 RowGroupHeaderStyles property, 624—625 RowHeaderStyle property, 611 RowHeaderWidth property, 604 RowHeight property, 605, 610 rows

DataGrid formatting, 611—612 highlighting, 612 sorting based on columns, 616

Rows property, 95 RowSpan property, 83, 85 RowStyle property, 610—611 #rrggbb notation, 64 RSS (Really Simple Syndication), 703—705 Run class, 147 runs, formatting text with, 147 RunWorkerAsync( ) method, 669—670 RunWorkerCompleted event, 671, 675 RunWorkerCompletedEventArgs class, 671

■S S command, 280 Safari support, 25 SafeFileName property, 648 sandbox model, browsers, 633 SaveFileDialog class, 645—648 scalability, 656 ScaleTransform class, 303—304

animating transforms, 343 changing button shape or position, 458 choosing property to animate, 343 custom transitions, 465 reflection effect, 310 RenderTransformOrigin property, 310 scaling pages, 103—105

ScaleY property, 310 scaling pages, 103—105 Scientific type, 570 scraping, HTML, 680—684 screen-capture recording, 396 scriptable methods, 504, 512 ScriptableMember attribute, 504—506 ScriptableMemberAttribute class, 491 ScriptableSilverlight class, 505—506 ScriptableType attribute, 504—506 ScriptableTypeAttribute class, 491 ScriptObject class, 491, 503 scroll bars, 100 ScrollBar control, 176, 466 ScrollBarVisibility enumeration, 102, 605 ScrollContentPresenter placeholder, 450 scrolling pages, 101—102 ScrollIntoView( ) method, 615 ScrollViewer control

custom layout containers, 92 description of, 140 HorizontalScrollBarVisibility property,

102 placeholder for, 450 placing Viewbox in, 105 scrolling pages, 101—102 VerticalScrollBarVisibility property, 102 zooming with mouse wheel, 126

Page 43: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

767

search engine optimization, 239 securing HTML interoperability, 511—513 security

mark of the Web, 30 phishing, 678 testing Silverlight applications, 12 URI, 240 web service method exceptions, 521 WebClient object, 678 WebRequest object, 678 XMLHttpRequest object, 678

SecurityCritical attribute, 21, 659 Segments property, 273 SelectedDate property, 179 SelectedDateChanged event, 180 SelectedDateFormat property, 179 SelectedDates property, 179 SelectedDatesChanged event, 180 SelectedIndex property, 165, 167 SelectedItem property, 163—164, 167, 615 SelectedItems collection, 163—164 SelectedText property, 168 SelectionChanged event, 165, 167—168,

561, 615 SelectionLength property, 168 SelectionMode property, 163, 179, 615 SelectionStart property, 168 semitransparent colors, 297 SendAsync( ) method, 717, 723 sender.findName( ) method, 195 sending messages

local connections, 723 messenger client, 719—720

separate-stream script commands, 403 seq element, 392 serializable data object, 524, 553 serialization, 641—644 server-side code, 489, 515 server-side playlists, 392 server-side proxy, 679—680 service code, 516 service endpoint, 516, 532 ServiceContract attribute, 516, 533 Session object, ASP.NET, 530

SetAttribute( ) method, 490, 496—498, 500 SetProperty( ) method, 490 SetPropertyName( ) method, 44, 114, 116 SetRow( ) method, 114 SetSource( ) method, 385—386, 572 SetStyleAttribute( ) method, 496—497, 500 SetTarget( ) method, 345 SetTargetElement method, 360 SetTargetProperty method, 360 Setter objects, 424 setters, styles, 450 Setters collection, 424 SetTop( ) method, 373 SetValue( ) method

DependencyObject class, 44, 112—114, 116

Ellipse object, 129 FlipPanel control, 473

Shader Effects Library, WPF, 350 ShaderEffect class, 317—318 shaders, pixel, 314—318 shadow effects, 315—317 ShadowDepth property, 315 Shape class

classes deriving from, 252 Fill property, 253 GeometryTransform property, 253 properties, 253 RenderTransform property, 307 RenderTransformOrigin property, 307 Stretch property, 253 Stroke property, 253 StrokeDashArray property, 253 StrokeDashCap property, 253 StrokeDashOffset property, 253 StrokeEndLineCap property, 253 StrokeLineJoin property, 253 StrokeMiterLimit property, 253 StrokeStartLineCap property, 253 StrokeThickness property, 253

shape classes, 252—269

Ellipse class, 253 Line class, 260—261 Polygon class, 262—265

Page 44: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

768

Polyline class, 261—262 Rectangle class, 253

shapes, 251—269

angling, 304 arcs, 275—277 Bézier curves, 277—279 clipping with geometries, 281 combining with GeometryGroup, 271—

272 dashed lines, 267—269 derivation of, 251—252 dragging, 128 dynamic effects and animation, 305 events, 252 exporting clip art, 282—286 inheritance hierarchy for, 252 line caps and line joins, 265—267 lines, 260—261, 274 making visible, 253 overlapping, 257 Path shape, 304 placing, 258 polygons, 262—265 polylines, 261—262 repeating, 304 rotating, 305 shape classes, 252—269 sizing, 255—260 transforming, 305—307 without Height and Width properties,

255

Shazzam tool, 317 Shift key, 134 Show( ) method, 234—236 ShowDialog( ) method, 646, 648 ShowErrorsInSummary property, 589 ShowGridLines property, 78—79 ShowsPreview property, 86 sieve of Eratosthenes algorithm, 663 Silverlight. See also animation

browser integration in, 490 changes to, 33 class libraries, 11

combining with HTML content, 507—511

creating ASP.NET-hosted Silverlight project, 12—17

data binding, 539 decompilation, 20—21 design tools, 1—3 fonts supported, 144—146 HTML test page, 24—30 instantiating Silverlight objects in

browser, 506—507 playing PCM-encoded WAV audio, 391 raw audio video pipeline, 391 resource system, 49 supported file types for audio and

video, 383 table of elements, 137—141 types of websites, 3 version of .NET Framework, 11

Silverlight Streaming, 393 Silverlight Toolkit, 141, 470 Silverlight.js file, 15 simultaneous animations, 334 SineEase class, 341 single-threaded apartment model, 659 SiteSettings collection, 645 size controls, 72—74, 80 size properties, 72—74 Size property, 275 SizeChanged event, 90, 103, 120, 673 SizeToXyz values, 607 sizing images, 149—150 sizing pages, 99—106

Browser size, 99 Constrained size, 99 Fixed size, 99 full-screen mode, 105—106 resizable or fixed page sizes, 100 scaling, 103—105 scrolling, 101—102 testing out different approaches, 100 Unlimited size, 100

SkewTransform class, 304 skinnable applications, 427

Page 45: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

769

skins, 449, 450, 470 Sleep( ) method, 658, 668 Slider class

customized Slider control, 469 description, 140 IsHitTestVisible property, 389 one-way element binding, 56 Opacity property, 389 TemplatePart attribute, 466, 468—469 understanding parts with, 466—470 ValueChanged event, 336

Slider tab, 388—389 sliders, 389, 468—469 slsvcutil.exe utility, 519 SmallChange property, 176 smart data classes, 584 smil element, 392 smooth streaming, 394—396 SOAP, 684, 699 Socket class, 717, 720 socket clients

building, 707 chat client, 708 messenger client, 717—721

socket servers

building, 707 clientaccesspolicy.xml file, 708 determining clients allowed to connect

to, 708 messaging server, 713—716 MessengerConnection class, 713—714 MessengerServer class, 713—714 policy server, 708—713 PolicyConnection class, 709, 712—713 PolicyServer class, 709—711

SocketAsyncEventArgs object

BufferList property, 720 Completed event, 717—718, 721 connecting to server, 717 OnSocketConnectCompleted( ) event,

718 storing buffer of message data, 720

sockets, 706—721

IP address, 706 port numbers, 706 stream, 707 TCP, 706—708 two-way communications, 531

SolidColorBrush class, 289—290, 292, 299 SomethingClicked( ) method, 123—124 SortDescription objects, 622 sorting, 622 SortMemberPath property, 616 sound effects, 365 sounds. See audio and video source code files, 7 Source Images folder, 413 source object, 540, 543 source parameter, 27 Source property

bindings, 543—544 DataPager object, 626 event bubbling example, 124 Frame control, 239 Image class, 148—149, 573 Image element, 296 MediaElement class, 386, 392

SourceName property, 405, 440 spaces, 499 special characters

equivalent XML character entities, 40 escaping, 498

SpeedRatio property, 334 splash screens, 192—196 splashScreenSource parameter, 27, 196 spline key frames, 353—354 SplineDoubleKeyFrame objects, 354 splitter bars, 84—87 SpreadMethod property, 292 Springiness property, 338, 340 Square value, 266 StackPanel class, 66—74

alignment properties, 69—70 applying transforms to, 307 button with contained elements, 121 HorizontalAlignment property, 70 HyperlinkButton elements, 245

Page 46: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

770

keeping track of MediaElement objects, 387

layout properties, 68 line coordinates, 260 margin properties, 70—72 organizing styles, 429 Orientation property, 67 size properties, 72—74 sizing buttons, 73 Stretch value, 70 VerticalAlignment property, 70

StackPanel layout container

choosing between layout containers, 90 description of, 140 when to use, 84

Start( ) method

MessengerConnection class, 714 PolicyServer class, 710 Thread class, 658, 662, 668

StartLineCap property, 266, 269 StartPage value, 189 StartPoint property, 273—274, 291 StartsWith value, 171 StartsWithCaseSensitive value, 171 StartTaskAsync( ) method, 662, 667 Startup event, 189 StartupEventArgs object, 187 StartupEventArgs.InitParams collection,

188 state animation, 461, 480—482 state groups

avoiding animating same properties in, 461

CommonStates group, 456, 460—461 creating, 457 default transition, 462 defining, 456 FocusStates group, 456, 460—461 naming conventions, 477 transition animations, 462 ValidationState group, 547 VisualStateGroups element, 456

state storage, 247

states

adding VisualState element for each state, 457

Button control, 456—459 FlipPanel control, 476 GoToStateAction class, 445 hard-coding animation values, 459 naming conventions, 477 order in which control applies states,

461 retaining page state, 230—231 showing focus cue, 460—461 transitions, 461—466

states model. See parts and states model StaticResource expression

accessing resources in code, 54 DataContext property, 544 defining control template as resource,

449 pointing to binding, 571 Source property, 544 using data templates, 579 using resource in XAML markup, 51

status codes, HTTP, 521 Status property, 662, 664 StatusState enumeration, 662 steady-state animation, 462, 464 Stop( ) method, 385, 711 Stop property, 332 storage. See isolated storage stored procedures, 554, 558 StoreDbClient class, 555 Storyboard class, 326—327

animation programming, 355, 360—363 calling methods in code-behind file,

328 Completed event, 355, 363 controlling animation playback, 334—

336 SetTarget( ) method, 345 simultaneous animations, 334 Stop property, 332 TargetElement property, 350 TargetName property, 326—327, 334

Page 47: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

771

TargetProperty property, 326—327, 344

StoryboardCompletedTrigger class, 445 storyboards, 445 straight lines, 274 Stream property, 212 stream sockets, 707 StreamGeometry class, 270 streaming

adaptive, 395 bit rate, 397 MediaElement, 393 Silverlight Streaming, 393 smooth, 394—395 URL triggering Silverlight to use, 393

StreamReader class, 637, 687 StreamWriter class, 637, 687 Stretch enumeration, 150, 256, 296 Stretch property

Image class, 149 ImageBrush class, 296 MediaElement class, 391 Shape class, 253, 255 Viewbox class, 259

Stretch value, 70, 73 StretchDirection property, 259 StringLength attribute, 591—593 Stroke property

Line class, 260 Shape class, 253

StrokeDashArray property, 253, 267—269 StrokeDashCap property, 253, 269 StrokeDashOffset property, 253, 269 StrokeEndLineCap property, 253, 265 StrokeLineJoin property, 253, 266 StrokeMiterLimit property, 253, 267 StrokeStartLineCap property, 253, 265 StrokeThickness property, 253 style attributes, 500 Style object

AcceptsReturn property, 424 BasedOn property, 427 FontSize property, 426 IsReadOnly property, 424

Margin property, 426 Padding property, 426 TargetType property, 424

Style property, 425, 450 styles, 423—429

adding default to FlipPanel, 474—476 applying, 425—426 avoiding control customization, 471 BigButtonStyle style, 424 changing properties, 500 creating set of related, 450 defining, 424—425 defining template as part of, 450 dependency property precedence, 113 dynamic, 426—427 inheritance, 427—428 organizing, 428—429 Setter objects, 424 Setters collection, 424 setting programmatically, 426 setting templates through, 452—454 WPF and Silverlight styles compared,

424

subfolders, 211—212 Submit( ) method, 494 SubmitTask( ) method, 533—534 suppressed events, 121—122 SuppressExceptions property, 574 .svc file, 532 SweepDirection property, 277, 280 SyncLock keyword (VB), 664 Syndication namespace, 703 SyndicationFeed class, RSS, 705 SyndicationItem objects, RSS, 705 SystemColors class, 64 System.Core.dll assembly, 21 System.dll assembly, 21 System.Net.dll assembly, 21 System.Net.WebClient class, 215 System.Windows.Application object, 184 System.Windows.Browser namespace, 490 System.Windows.Browser.dll assembly, 21 System.Windows.Controls.Data.dll

assembly, 22

Page 48: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

772

System.Windows.Controls.Data.Input.dll assembly, 22

System.Windows.Controls.dll assembly, 22 System.Windows.Controls.Extended.dll

assembly, 195 System.Windows.Controls.Input.dll

assembly, 22 System.Windows.Controls.Navigation.dll

assembly, 22 System.Windows.dll assembly, 21 System.Windows.Interactivity.dll

assembly, 430—431, 433—434, 444 System.Windows.Media namespace, 269 System.Windows.Resources.StreamResour

ceInfo object, 212 System.Xml.dll assembly, 21

■T T command, 280 Tab key, 135 TabControl control class, 140, 165—167 TabIndex property, 135 TabItem control class, 166 TabItem element, 165 TabStripPlacement property, 167 Tag property, 386 TagName property, 496 tags query-string argument, Flickr, 691 target object, 540, 542 Target property, 437, 585, 588 TargetedTriggerAction class, 437—438 TargetElement property, 350, 360 TargetName property, 326—327, 334, 440 TargetProperty property, 326—327, 344, 360 TargetType property, 424 TaskDescription class, 533 TaskResult class, 533 TCP (Transmission Control Protocol), 706—

709 TcpClient class, 717 TcpListener class, 710 tell model, 440 template binding

anticipating requirement of, 452

combining templates with styles, 453 default control template, 479

Template property

adding default style to FlipPanel with generic.xaml, 475

applying control template to control, 448

Control class elements, 447 DataGridRowGroupHeader class, 625

TemplateBinding extension, 459 TemplatePart attribute

examining parts, 456 FlipPanel control, 477 Slider control, 466, 468—469

templates, 447—454. See also control templates

adding VisualStateManager to, 457 breaking into manageable pieces, 455 ContentPresenter placeholder, 450 creating, 448—449 data, 577—582 default, 449 defining as part of style, 450 editing cells in DataGrid with, 617—618 ensuring most flexible support, 477 navigation, 248—249 Navigation Application project, 248 parts and states model, 454—470 to plug into back-end code of control,

455 reusing colors, 454 setting through styles, 452—454

TemplateVisualState attribute, 456 test page. See HTML test page testing Silverlight applications, 11—12 TestPage.aspx file, 14 TestPage.html file, 6, 11, 14, 18, 24 TestService class, 520 text

converting graphical into path, 146 DataGridTextColumn class, 606 fonts, 144—146 formatting with runs, 147

Page 49: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

773

underlining, 146 wrapping, 148, 609, 705

text annotations, 399 Text property, 141, 167, 170 text selection, 168 TextAlignment property, 142, 167 TextBlock class, 119, 134, 140, 167—168 TextBlock element, 141—148

centering right-justifying text, 142 character entities, 142 drop-shadow effects, 316 font-related properties, 143—146 Foreground property, 142, 292 gradient-filled TextBlock, 292 Inlines collection, 147 LineHeight property, 148 LineStackingStrategy property, 148 Padding property, 142 Run object, 147 setting text color, 142 Text property, 141 TextAlignment property, 142 TextDecorations property, 146 TextWrapping property, 148 transparency, 298 underlining, 146 using LineBreak element in, 142 whitespace, 142

TextBlock object, 195 TextBox class, 141, 168 TextChanged event, 119, 132 TextDecorations property, 146 TextFilter property, 171 TextWrapping property, 148, 167 themes

ImplicitStyleManager, 470 Silverlight Toolkit, 470, 487

Themes folder, 475 Thickness structure, 70 thread affinity, 659 Thread class, 657—668

Abort( ) method, 659, 668 IsAlive property, 658 Join( ) method, 658

ManagedThreadId property, 658 marshalling code to user interface

thread, 659—661 Name property, 658 overview, 655 pausing and resuming threads, 659 setting thread priorities, 659 Sleep( ) method, 658, 668 Start( ) method, 658, 662, 668 thread wrapper, 661—666 ThreadState property, 658 worker class, 663—664

thread pool threads, 671 thread wrapper, 661—666 threading

cancelling long-running tasks, 666—668, 674—676

dispatcher, 659 FindPrimesThreadWrapper class, 663—

664 locking, 664 multithreading, 655—657 single-threaded apartment model, 659

ThreadPool class, 655 ThreadStart delegate, 657 ThreadState property, 658 ThreadWrapperBase class, 662—664, 666—

668 throttling, bit-rate, 394—395 thumbnails, 404 Tick event

bomb-dropping game, 359 DispatcherTimer class, 390, 657 DispatcherTimer property, 361

Time property, 403 time slice, multithreading, 655 time types, 570 Timeline class, 331 TimelineMarker object, 401, 403—404 TimelineMarkerRoutedEventArgs event,

401 timelines, animation, 326 timer code, 361 TimerTrigger class, 445

Page 50: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

774

TimeSpan object, 331, 333 Title property, 246 Title user control, 357 To property, 326, 330—332, 463 To transitions, 463—464 ToggleButton control class, 141, 156—157 ToggleButton element, 479, 485 ToggleButton states, 477 ToList( ) method, 564 toolkit prefix, 75 ToolTip control, 159—161 ToolTip property, 159—160, 175 ToolTipService object, 159—160 Top property

animation programming, 355, 360 attached properties, 113 choosing property to animate, 343 dragging shapes, 130 drawing line on Canvas, 260 overview, 88

ToString( ) method, 603 tracking progress, 672—674 transfer rate, bit-rate throttling, 395 Transform class, 303 transform classes

MatrixTransform class, 304 RotateTransform class, 303 ScaleTransform class, 303 SkewTransform class, 304 TransformGroup class, 304 TranslateTransform class, 303

Transform property, 272 transformations, 405 TransformGroup class, 304, 344 transforms, 303—310

angling shapes, 304 animating, 343—346 applying to elements in layout

containers, 307—308 brief description, 289 change-notification support, 304 content from XPS document in

Silverlight, 286 dynamic effects and animation, 305

perspective, 310—314 pixel shaders, 314—318 PlaneProjection class, 311—312 reflection effect, 308—310 repeating shapes, 304 ScaleTransform class, 103—105 scaling pages, 103 transforming shapes, 305—307 WPF using, 308

TransitionCompleted( ) event handler, 368 transitions, 461—466

From and To, 463—464 controls skipping, 462 custom, 464—466 default, 462—463 page, 366—367 state groups, 462 to steady state, 464 wipe, 368—370

Transitions collection, 462 TranslateTransform class, 303—304, 343,

458 Transmission Control Protocol (TCP), 706—

709 transparency, 296—303

alpha value, 64, 298 content region, 300—303 controls, 300—303 description of, 289 elements, 296—297 images, 296, 298 improving animation performance, 375 opacity masks, 299—300 TextBlock elements, 298

TreeView control, 628—631

data binding, 629—631 filling, 628—629 hierarchical data, 629—630 ItemsSource property, 629—630 ItemTemplate property, 630 specifying data templates, 629 TreeViewItem objects, 628

TreeView control class, 141, 583

Page 51: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

775

TreeViewItem object, 628 Triangle value, 266 trigger classes, 445 TriggerAction class, 431—432, 437 TriggerBase class, 433 triggers

adding DefaultTrigger attribute to action class, 436

behaviors encompassing, 441 connecting action to element with,

433—434 creating targeted, 437—440 encompassing, 441 Expression Blend default, 436—437 overview, 430 reason for creating, 433 Silverlight, 455 TargetedTriggerAction class, 437

Triggers collection, 327, 434 TryParse( ) method, 570 TryValidateObject( ) method, 591 TryValidateProperty( ) method, 591 Twitter, 679 two-way data binding, 57—59, 545—546 TwoWay value, 545 type converters, 41, 131 type sharing, 599—602 TypeConverter attribute, 41 typefaces, 143

■U UIElement class

ArrangeCore( ) method, 91 creating actions, 431 events, 118—119 hierarchy of Silverlight elements, 118 infrastructure, 270 MeasureCore( ) method, 91 MouseCapture( ) method, 127—128 Opacity property, 297 Projection property, 313 RenderTransform property, 307 RenderTransformOrigin property, 307

underlining, 146 Unfocused state, 456 UnhandledException event, 190, 219 Uniform value, 150, 256, 296, 391 UniformGrid layout container, 94—98 UniformToFill value, 150, 256, 296, 391 UnitCost property, 568, 571, 586 Unknown value, 132 Unlimited size, 100 UpdatePanel control, 17 updateSilverlight( ) function, JavaScript,

506 UpdateSource( ) method, 546, 550 UpdateSourceTrigger property, 546 upgrading, 27 UploadFile( ) method, 651 UploadFileAsync( ) method, 653 uploading files, 648—653 UpOnly value, 259 Uri property, 246 UriMapper object, 242—243 URIs

browser integration, 239—241 of current page, 239 disabling system, 240 forward slash, 237 fragment system, 240 mapping, 242—244 passing information to destination

page, 246 query-string arguments, 247 security, 240 storing root, 572 XML namespaces, 36

UrlEncode( ) method, 691 URLs

configuring web service, 522—524 encoding, 491 MediaElement tag, 384 non-SOAP web services using, 684

user controls

animation programming, 356 bomb-dropping game, 357—359 DesignHeight attribute, 100

Page 52: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

776

DesignWidth attribute, 100 determining type to create, 227 dynamically loading, 226 embedding in page, 226—228 Silverlight pages as, 6 sizing, 99

User object, ASP.NET, 530 UserControl class, 99, 103, 169 UserControl element, 26, 34, 544 UserInformation class, 235 user-interface functionality. See behaviors UserState property, 216

■V V command, 280 ValidateObject( ) method, 591, 598 ValidateProperty( ) method, 591, 620—621 ValidatesOnExceptions property, 547, 549 ValidateUnitCost( ) method, 597 validation

BindingValidationError event, 120 data binding, 546—551 DataGrid object, 618—621 DescriptionViewer control, 588 embedding validation rules in data

classes, 583 listing validation errors in pages, 583 regular expressions, 594—596

validation attributes, 592—599

CustomValidation attribute, 596—599 Range attribute, 593 RegularExpression attribute, 594—596 Required attribute, 593 StringLength attribute, 593

Validation class, 551 validation rules, 590 ValidationAttribute class, 592 ValidationState group, 547 ValidationSummary control class, 588—590

accessing, 584 description of, 141 FocusControlsOnClick property, 589 FocusingInvalidControl event, 589

ShowErrorsInSummary property, 589 Target property, 588 using with smart data classes, 584

Validator class, 591, 598, 620—621 value converter class, 567 value converters

applying conditional formatting, 574—577

creating, 569 creating objects with, 572—574 formatting strings with, 568—572 Silverlight data binding versus WPF,

540

Value property, 175, 177, 351 ValueChanged event, 175, 336 Variable Bit-rate Encoding (VBR), 399 vbc.exe compiler (VB), 17 VC-1 files, 384 vector-drawing model, 153 versions

assembly caching, 24 creating friendly install experience, 29 minRuntimeVersion parameter, param

element, 27

VerticalAlignment property

Button control, 75 custom layout containers, 93 GridSplitter control, 85 layout panels, 68—69 shapes, 257, 260 StackPanel, 70 using fixed-size window, 99

VerticalContentAlignment property, 155 VerticalGridlinesBrush property, 605 VerticalOffset property, 160 VerticalScrollBarVisibility property, 102,

605 VerticalTemplate element, 467 video. See audio and video video cards, 375—376 video effects, 405—411 video encoding, 396—399 video files, 384, 391, 395

Page 53: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

777

video playback, 395—411 video player, building, 401 video puzzle, 407—411 VideoBrush class, 290, 309, 404—407, 411,

421 Viewbox control, 103—105, 126—127, 258—

260 ViewMode parameter, 187 virtualization, 165, 603, 611 visibility, 468 Visibility property, 135, 228, 343, 404, 608 Visible value, 102, 228 Visual Studio

adding Visual Studio service reference, 517—519

assembly caching, 23 attaching event handlers to elements, 9 creating ASP.NET-hosted Silverlight

projects, 13 creating proxy class, 517—519 creating Silverlight class library in, 37 creating stand-alone Silverlight

projects, 4 design process, 1 design surface, 7 designing XAML page, 8 editing XAML markup by hand, 8 linking feature, 601 Silverlight design support, 1, 7 Silverlight version options, 4 web services, 516—517, 599—602 XAML view, 8

VisualStateGroups element, 456—457, 462 VisualStateManager element, 463, 465—

467, 483 VisualTransition element, 462—463, 465—

466 VisualTreeHelper class, 47, 431—432 volume, audio

slider for adjusting, 388 temporarily muting playback without

pausing, 387

Volume property, 387

■W w3schools.com, 34 watermarks, 397 WAV audio files, 391 WCF services, 515—517, 529—530 Web

cross-domain web service calls, 526—528

interacting with, 677—688 mark of, 29—30 placing resources on, 213—215

web controls, 16 web pages

animating transition between, 367 attaching event handlers to elements

in, 9—11 child windows, 231—236 creating, 7—12 embedding user controls in, 226—228 getting URI of current, 239 hiding elements, 228 HTML test, 24—30 HyperlinkAction class, 445 identifying using enumerations, 230 legacy web page integration, 489 moving between, 225, 231 passing information to destination, 246 query-string arguments, 247 retaining page state, 230—231 scaling, 103—105 scrolling, 101—102 sharing information between, 247 sizing, 99—106 Submit( ) method, 494 swapping content, 228 triggering navigation from inside, 246

web service method, 517, 521, 566—567 web service type sharing, 599—602 web services, 515—524

accepting large amounts of data, 651 adding Visual Studio service reference,

517—519 building data service, 552—555

Page 54: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

778

building server-side proxy, 679 calling, 517—521 calling data service, 555—556 configuring URL, 522—524 consuming simple, 685—688 creating in Visual Studio, 516—517 cross-domain access, 679 cross-domain calls, 526—528 data types, 524—526 denial-of-service attacks, 651 duplex services, 531—537 FileServiceClient class, 651—653 Flickr, 690—691 monitoring network connection, 528—

529 polling connections, 531 processing XML, 688—689 requiring XML data, 697—699 REST-based, 684—688 returning JSON data, 700—702 returning SOAP data, 699 returning XML data, 690—697 RSS, 703—705 Silverlight client, 651—653 simple, 684 simulated server initiated

communications, 531—532 SOAP, 684 sockets connections, 531 transmitting files with, 648—653 using ASP.NET platform services, 529—

530 WSDL document describing, 519 XML-RPC service, 697—698

WebClient class, 215—216, 218—219

building Flickr request URL, 691 consuming simple web service, 685—

686 downloading media files

asynchronously, 385 downloading resources with, 215 DownloadStringAsync( ) method, 681—

682 DownloadStringCompleted event, 692 OpenAsync( ) method, 681

OpenReadAsync( ) method, 681 querying HTML page with, 681 security, 678 working with HTML, 681—682

web.config file

adding WCF service, 517 building data service, 554 configuring duplex services, 532 creating ASP.NET-hosted Silverlight

projects, 15

WebRequest class

BeginGetRequestStream( ) method, 686—688

BeginGetResponse( ) method, 687—688 consuming simple web service, 685—

686 CreateRequest( ) method, 686 ReadResponse( ) method, 687—688 security, 678 using XML-RPC service, 698

websites

adding Silverlight content to existing website, 3

ASP.NET, 3 browser integration, 489 cross-domain web service calls, 526—

528 DeepZoomProjectSite, 417 drawback of Silverlight-only, 4 Hard Rock Memorabilia, 421 HTML-only, 3 isolated storage, 634 types of Silverlight, 3

whitespace, 142 width attribute, 25 Width property

Button class, 88 ColumnDefinition object, 80 giving pages fixed-size, 99 GridSplitter control, 85 layout panels, 69, 72 MediaElement class, 404—408 shapes, 253—255

Page 55: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

779

wildcards, 596 Window property, 490—491 windowless parameter, 28 windowless rendering, 300—303, 375 windows

browser, 26, 99 child, 231—236 popup, 231, 493

Windows Media Audio files, 383 Windows Media Encoder, 396 Windows Media metafiles, 391 Windows Media Video files, 384 Windows Movie Maker, 396 Windows Presentation Foundation. See

WPF using Windows.Browser namespace, 490 Windows.Media namespace, 269 wipe effect, 366—370 WipeTransition class, 368 WMA files, 383 WMV files, 384, 396 .wmx files, 391 WordArt feature, 357 WorkerReportsProgress property, 672—673 WorkerSupportsCancellation property, 674 Working Data folder, 413 WPF (Windows Presentation Foundation)

animation system, 324 BAML, 17 data binding, 539 Deep Zoom, 421 Pixel Shader Effects Library, 318 Shader Effects Library, 350 styles, 424 using layout transforms, 308 VideoBrush, 421

WrapBreakPanel class, 115—116 WrapBreakPanel custom layout panel,

114—117 WrapPanel layout panel, 62, 74—76, 581 wrapping text, 148, 609, 705 WriteableBitmap class, 318—321

capturing content from other elements, 320—321

description of, 289 generating bitmaps, 318—320 Invalidate( ) method, 321 Pixels property, 319 Render( ) method, 320—321

WriteObject( ) method, 701 writing data, 636—638 writing files, 645, 647—648 WSDL documents, 519 .wsx files, 392

■X, Y x prefix, 35 XAML (Extensible Application Markup

Language), 33—39

case-sensitivity, 41 code-behind class, 38—39 data templates, 577 defining Popup control, 161 designing pages, 8 editing by hand, 8 elements, 34, 45 element-to-element binding, 56—59 events, 48 exporting, 282 pronouncing, 33 properties, 40—45 property-attribute syntax, 43 property-element syntax, 42—43 reasons to study syntax of, 59 replacing attribute with nested

element, 425 setting mouse cursor in, 131 Silverlight animations, 326 Silverlight changes, 33 sizing Silverlight content region, 26 styles, 423 type converters, 41 using resource in, 51

XAML documents

blank, 34 nested, 45—47

XAML markup extensions

Page 56: Index [link.springer.com]978-1-4302-2428-0/1.pdfINDEX 726 allowHtmlPopupWindow parameter, 493 allowHtmlPopupwindow parameter, 512 AllowInvalid property, 592 alpha value, transparency,

■ INDEX

780

Binding expression markup extension, 56

data binding expressions, 57 StaticResource markup extension, 51,

54 using resource in XAML markup, 51

XAML namespaces, 34—38 XAML resources, 49—55

accessing resources in code, 53—54 adding UriMapper object as, 242 hierarchy of, 51—53 organizing with resource dictionaries,

54—55 resources collection, 50—51 using in XAML markup, 51

XAP files

assembly caching, 22—23 changing file name, 18 deploying media file alongside, 385 deploying media file inside, 385 deploying Silverlight application, 19—20 embedding media file in, 384 isolated storage, 634 reducing XAP size, application library

caching, 23 Silverlight decompilation, 20

XAttribute object, 692, 695 XDocument class, 689, 692—698 XElement class, 692, 695 XHTML, 33 XML

AppManifest.xml file, 6 character entities, 40

literals, 698 mapping to new class, 696 on-line tutorial, 34 parsing XML, 692 processing, 688—689 services returning XML data, 690—699 System.Xml.dll assembly, 21

XML DOM model, 689 XML namespaces, 34—37, 475 XML Paper Specification (XPS), 284 XML policy file, 678 XmlDocument class, 689 XMLHttpRequest object, 678 xmlns attribute, 35 XmlReader class, 689, 692 XML-RPC service, 697—699 XmlSerializer class, 641—644, 689, 720—721 XmlWriter class, 689 XNamespace class, 697 XNode object, 692 XPS (XML Paper Specification), 284—286

■Z Z command, 279—280 zero-length state animations, 461 ZIndex property, 89 ZIP files, 20, 22 Zoom( ) method, 420 ZoomAboutLogicalPoint( ) method, 420 Zoomify, 412 zooming

browser, 105 Deep Zoom, 411—421