element, 387 Padding property, 54, 66, 126, 335–336, 341–344, 375, 377 Page class code, 34 Page.ChangeText( ) method, 396 Pager class, 401–403 Pager.AddHistoryItem( ) method, 401 pages changing, 168–170 navigating, 401 simple, 5–13 sizing, 84–92 transitions, 279–280 Pages enumeration, 170 pageSwitch field, 401–403 PageTransitionBase class, 281–282, 284 Page.xaml file, 4, 33 Page.xaml.cs file, Panel class, 42, 52, 135–136 Panel.Children property, 42 element, 18, 23, 166 parameter array, 557 ParameterizedThreadStart delegate, 512 params keyword, 557 parent data object, 459 Parent property, 385 Parse( ) method, 465, 550 parts, 346, 367–368 parts and states model Button control, 347–350 focus cue, showing, 350–352 overview, 345–347 Slider control, 357–361 transitions, 352–357 PasswordBox control, 151–152 PasswordChar property, 152 Path class clipping, 213–215 combining shapes, 204–205 curves and lines, 206–211 geometry mini-language, 211, 213 Line, Rectangle, and Ellipse, 203–204 overview, 202–203 Path element, 418 path mini-language, 212 PathFigure class, 206, 212 PathFigure.IsClosed property, 207 PathGeometry class arcs, 208–209 Bézier Curves, 210–211 overview, 206–207 straight lines, 207 PathSegment class, 206 9497Index.qxd 10/14/08 3:26 PM Page 599 ■INDEX Pause( ) method, 293, 297, 317 PDB files, 13 Percentage type, 464 period (.), 540, 542 Person class, 501–502 element, 552, 555 PhotoZoom property, 327 PlaceholderImageUrl property, 416 placing resources in application assembly, 176–178 in application package, 178–179 on Web, 179–181 PlatformKeyCode object, 117 Play( ) method, 293–298, 315, 317, 320 playback, controlling, 255–257, 293–294 Player Skin text box, 418 playlists, 303 Plugin property, 385 PluginBackground property, 413, 416 PluginNotInstalledTemplate property, 413, 416 PointAnimation class, 246, 262–264 PointAnimationUsingKeyFrames class, 246, 264–265 PointCollection object, 195 Points property, 195 policy file, 568 policy servers, 567–572 PolicyConnection class, 568, 570–572 PolicyServer class, 568–571 PolicyServer.Start( ) method, 569 polling, 433 PolyBezierSegment class, 207 Polygon class, 196–198 Polyline class, 195–196 PolyLineSegment class, 207 PolyQuadraticBezierSegment class, 207 Popup class, 142, 144–145 port numbers, 565–566 position, changing, 295–299 Position property, 293, 317 preemptive multitasking, 509 PrepareStoryboard( ) method, 281–282, 284 Pressed state, 351, 368 PriceConverter class, 465 PriceConverter property, 465–466, 481 PriceToBackgroundConverter property, 469–470 prioritized property, 97 ProcessRequest( ) method, 544 Product object, 438, 444 ProductImage field, 466 ProductList.bin file, 181 ProductList.xml file, 178 productMatchesTracked collection, 457 Product.ModelName property, 471 Product.ModelNumber property, 438 Product.ToString( ) method, 453 Product.UnitCost property, 462, 465 Professional.xaml skin, 419 ProgressBar control, 153 ProgressChanged event, 524, 527 ProgressChanged event handler, 528 progressive downloading, 299–302 projection, 554 properties animation, 249–252 XMAL, 34–45 Properties node, 4, 14 Properties window, 7, 184 property declaration, 37 property wrapper, 100, 103 property-attribute syntax, 39 PropertyChanged event, 444 property-element syntax, 37–39 PropertyMetadata object, 99 Proportional sizes strategy, 64 proxy class, 426 public properties, 436 public zero-argument constructor, 47 ■Q Q x1, y1 x,y command, 213 QuadraticBezierSegment class, 207, 213 query string parameters, 543 QueryString member, 385 ■R R, G, B (red, green, and blue) values, 53 RadialGradientBrush attribute, 349 RadialGradientBrush class, 221–222, 225–226, 231 599 9497Index.qxd 600 10/14/08 3:26 PM Page 600 ■INDEX RadialGradientBrush property, 262–265, 268–269 RadialGradientBrush.GradientStops property, 225 RadioButton class, 141 RadioButton control, 135 RadioButton element, 125 RadiusX property, 190, 226 RadiusY property, 190, 226 RandomNumbers class, 398 Range( ) method, 455 RangeBase class, 152–153 reading data, 496–498 ReadObject( ) method, 561 ReadResponse( ) method, 546 Really Simple Syndication (RSS), 562–564 ReceiveAsync( ) method, 577 ReceiveMessage( ) method, 575 Rectangle class, 173, 190 Rectangle element, 125, 203, 320, 418 Rectangle geometry, 189–190, 203–204 Rectangle property, 194 RectangleGeometry class, 202–205 red, green, and blue (R, G, B) values, 53 Reference.svcmap file, 426, 455 reflection effect, 240–241 Reflector tool, 121 Regex.Match( ) method, 541 Register( ) method, 99, 102 RegisterAttached( ) method, 102 RegisterCreateableType( ) method, 397 RegisterScriptableObject( ) method, 395, 397 regular expressions, defined, 539 RelativeTransform property, 263, 318 Reloaded( ) method, 404 Remove( ) method, 495, 504 RemoveAttribute( ) method, 387 RemoveChild( ) method, 387, 389–390 RemoveStyleAttribute( ) method, 387 RenderTransform property, 88, 259–260 RenderTransformOrigin property, 238–239, 241, 260 RepeatBehavior property, 253–254 RepeatBehavior.Forever value, 254 RepeatButton class, 139–140 ReportError( ) method, 161 ReportProgress( ) method, 527–528 ResourceClassLibrary assembly, 184 resources accessing in code, 49–50 collection, 46–47 hierarchy of resources, 47–49 overview, 45–46 placing, 176–181 retrieving, 177–178 Resources property, 46, 163–165, 178–181, 183, 248 REST, 542–547 Result property, 427, 539 retaining page state, 169–170 retrieving resources programmatically, 177–178 Reuse objects, 45 RootUri property, 466–467 RootVisual property, 160–161, 165–166, 168 RotateTransform class, 235–239, 242, 259–260, 271, 273 RotateTransform property, 349, 370–371 routed events core element events, 105–107 event bubbling, 107–112 focus, 120–121 handled events, 108–109 key modifiers, 120 key presses, 117–120 mouse, 112–117 overview, 105 RoutedEventArgs object, 111 Row property, 40, 58 RowBackground property, 478 RowDefinition element, 63 RowDefinition object, 65, 70 RowHeaderStyle property, 485 RowHeaderWidth property, 478 RowHeight property, 478, 484 rows details of, 487–488 fine-tuning, 64–65 formatting, 485–487 sorting, 488–489 spanning, 67–68 RowSpan property, 67, 70 RowStyle property, 485 element, 552 9497Index.qxd 10/14/08 3:26 PM Page 601 ■INDEX RSS (Really Simple Syndication), 562–564 runs, 130–131 RunWorkerCompleted event, 524, 526, 530 RunWorkerCompletedEventArgs class, 526 RunWorkerCompletedEventArgs.Result property, 526 ■S \s character, 542 S x2,y2 x,y command, 213 ScaleMode property, 416 ScaleTransform class, 90, 235–236, 241, 259, 271 ScaleTransform property, 88, 349, 356–357, 367, 371 ScaleY property, 372 scaling, 88–90 Scientific type, 464 scriptable methods, 408 ScriptableMemberAttribute class, 380 ScriptableSilverlight class, 396–397 ScriptableTypeAttribute class, 380 ScriptManager control, 411 ScriptObject class, 380, 394 ScrollBar control, 140, 152, 357 scrolling, 86–87 ScrollViewer control, 86, 135 ScrollViewer element, 125 SecurityCritical attribute, 11, 513 Segments property, 206 SelectedDate property, 155 SelectedDateChanged property, 156 SelectedDateFormat property, 156 SelectedIndex property, 148, 150 SelectedItem property, 148, 150, 458, 488 SelectedItems property, 488 SelectedText property, 151 SelectionChanged event, 148, 150–151, 454, 488 SelectionLength property, 151 SelectionMode property, 146, 155, 488 SelectionStart property, 151 SendAsync( ) method, 577 sender.findName( ) method, 173 SendToBack( ) method, 75 element, 303 server-side playlists, 303 service code file, 424 service endpoint file, 424 Service References node, 426 ServiceContract attribute, 425 Session Properties panel, 305, 308 Set As Start Page, 12 SetAttribute( ) method, 380, 387, 391, 402 SetProperty( ) method, 380, 387–389 SetPropertyName( ) method, 40, 102 SetSource( ) method, 293–294 SetStyleAttribute( ) method, 387–388, 391 Setters collection, 335 SetValue( ) method, 100, 104, 114, 364 Shape class, 111, 188–189 shapes dashes, 200–202 Ellipse, 189–190 exporting clip art, 215–219 Line, 194 line caps, 198–200 line joins, 198–200 overview, 187–188 placing, 191–193 Polygon, 196–198 Polyline, 195–196 Rectangle, 189–190 Shape classes, 188–189 sizing, 191–193 transforming, 237–239 Shift key, 119 Short Date type, 464 Show All Files button, 426, 455 ShowDialog( ) method, 505 ShowGridLines property, 64 ShowsPreview property, 71 sieve of Eratosthenes, 517 Silverlight application animation, 244–245 ASP.NET controls custom controls, 421 hybrid pages, 421–423 MediaPlayer control, 414–420 overview, 410–411 Silverlight control, 411–414 ASP.NET platform services, 431–434 ASP.NET-hosted projects, 24–27 compilation, 13–14 601 9497Index.qxd 602 10/14/08 3:26 PM Page 602 ■INDEX data types, 429–430 Deep Zoom image set, 328–331 deployment HTML test page, 16–21 overview, 13–15 HTML content, 404–408 markers, 313–316 overview, 1, 424 simple pages, 5–13 stand-alone projects, 3–5 Visual Studio, 1–3 web services consuming, 425–429 creating, 424–425 cross-domain calls, 430–431 Silverlight class library, 32, 183, 363 Silverlight control, 232–235 Silverlight event handler, 388, 408 Silverlight event triggers, 248 Silverlight Export tab, 327 Silverlight JScript page template, 172 Silverlight plug-in, 12, 16 SilverlightApplication1.dll assembly, 13, 22, 175 SilverlightApplication1TestPage.aspx, 25 SilverlightApplication1TestPage.html, 25 SilverlightApplication1.xap file, 14 simultaneous animations, 254–255 single-threaded apartment model, 513 SizeChanged event, 107, 528 SizeToCells value, 481 sizing content region, 17–18 MediaPlayer, 418 pages, 84–92 SkewTransform class, 235–236 skins, MediaPlayer, 417–418 Sleep( ) method, 512 Slider control, 357–361 Slider element, 125 slider tab, 297 sliderPositionBackground property, 297–298 SmallChange property, 152 root element, 303 SOAP, 543, 559 Socket class, 577, 580 SocketAsyncEventArgs object, 577–581 element, 568 sockets messaging servers, 572–576 messenger clients, 577–581 overview, 565–567 policy servers, 567–572 TCP, 565–567 SolidColorBrush class, 53, 221, 224, 231, 245 SolidColorBrush property, 52 SomethingClicked( ) method, 110–111 SortMemberPath property, 489 source object, 436 source parameter, 18 Source property, 111, 132, 227, 294, 303, 413, 440 source view, SourceName property, 317 element, 407 SpeedRatio property, 255, 257 splash screens, 171–175 splashScreenSource parameter, 19, 174 SplashScreenSource property, 174 spline key frame animations, 266 SplineDataTypeKeyFrame class, 266 SplineDoubleKeyFrame objects, 266 splitter bars, 68 square brackets ([ ]), 542, 560 StackPanel class alignment, 58–59 explicit sizes, 60–62 layout properties, 57–58 margins, 59 overview, 55–57 StackPanel element, 125 StackPanel property, 194 section, 48 stand-alone projects, 3–5 standard fonts, 128–129 Start( ) method, 512, 516, 520 Start Encoding button, 308 starting property value, 355 StartLineCap property, 198–199, 202 StartPage value, 167 StartPoint property, 203, 206–208, 211–212 StartTaskAsync( ) method, 517 Startup event, 22, 167 StartupEventArgs object, 165 9497Index.qxd 10/14/08 3:26 PM Page 603 ■INDEX StartupEventArgs.InitParams collection, 166 state animations, defining, 371–372 StateKey argument, 400, 402–404 states, choosing, 367–368 static, defined, 47 static methods, 40, 102 StaticResource expression, 440 StaticResource property, 440 StaticResource reference, 50, 466 steady-state animation, 353 Stop( ) method, 293, 296, 299, 317, 320, 570 StoreDb.GetProducts( ) method, 450 storing See also isolated storage application settings, 504 objects with XmlSerializer, 501–503 Storyboard class, 246–247, 254–255, 257 Storyboard.Begin( ) method, 255 Storyboard.Completed event, 267, 277 Storyboard.SetTarget( ) method, 261 Storyboard.SetTargetElement( ) method, 273 Storyboard.SetTargetProperty( ) method, 273 Storyboard.Stop( ) method, 253 Storyboard.TargetElement property, 260, 273 Storyboard.TargetName property, 248 Storyboard.TargetProperty property, 246, 273 straight lines, 207 Stream property, 178 stream sockets, 566 streaming, 299–302 StreamReader class, 496–497, 501, 505 StreamReader.ReadToEnd( ) method, 496 StreamWriter class, 545–546, 558 Stretch property, 133, 189, 191, 418 String class, 539 String.Format( ) method, 557 strings, formatting, 462–466 Stroke property, 189, 194 StrokeDashArray property, 189, 200–202, 211 StrokeDashCap property, 189, 202 StrokeDashOffset property, 189, 202 StrokeEndLineCap property, 189 StrokeLineJoin property, 189, 199 StrokeMiterLimit property, 189, 200 StrokeStartLineCap property, 189 StrokeThickness property, 189 Style object, 334 Style property, 335, 340 styles applying, 335–336 changing, 390–391 defining, 334–335 organizing, 336–337 overview, 333–334 subfolders, 177 Submit( ) member, 385 SyndicationFeed class, 564 SyndicationItem object, 564 System.ComponentModel.BackgroundWorker component, 523 System.ComponentModel.INotifyPropertyChanged interface, 444 System.Core.dll assembly, 10 System.dll assembly, 10 System.Globalization.NumberStyles value, 465 System.IO namespace, 496 System.IO.IsolatedStorage namespace, 495 System.Linq.Enumerable helper class, 457 System.Net.dll assembly, 10 System.Net.WebClient class, 181 System.Runtime.Serialization.dll assembly, 559 System.ServiceModel.dll assembly, 559 System.ServiceModel.Syndication namespace, 562, 564 System.ServiceModel.Web.dll assembly, 559 System.Threading namespace, 511 System.Threading.Thread object, 514, 523 System.TimeSpan value, 252 System.Web.HttpContext class, 432 System.Web.Silverlight.dll assembly, 410 System.Web.UI.SilverlightControls namespace, 410 System.Windows.Application object, 164 System.Windows.Browser namespace, 380, 394 System.Windows.Browser.dll assembly, 10 System.Windows.Controls namespace, 52, 337, 477 System.Windows.Controls.Data.dll assembly, 11, 477 System.Windows.Controls.Extended.dll assembly, 11, 14, 69–70, 148, 173 603 9497Index.qxd 604 10/14/08 3:26 PM Page 604 ■INDEX System.Windows.Controls.Orientation data type, 103 System.Windows.Controls.Panel class, 51 System.Windows.Controls.Panel control, 475 System.Windows.Controls.Primitives namespace, 140 System.Windows.Controls.TextBox class, 36 System.Windows.Data.BindingMode enumeration, 441 System.Windows.dll assembly, 10 System.Windows.Duration value, 252 System.Windows.Input.Cursor object, 116 System.Windows.Media.Animation data type, 245 System.Windows.Media.Imaging.BitmapImage object, 466 System.Windows.Media.Transform class, 235 System.Windows.Rect object, 79 System.Windows.Resources.StreamResourceI nfo object, 178 System.Windows.Threading namespace, 511 System.Windows.Threading.Dispatcher class, 513 System.Xml.dll assembly, 10 System.Xml.Linq.dll assembly, 551 Sys.UI.Silverlight.Control.createObject( ) function, 411 ■T Tab key, 120 TabControl class, 148–150 TabControl control, 146 TabControl element, 125 TabIndex property, 121 TabItem element, 148 TabItem.Content property, 149 TabStripPlacement property, 150 Tag property, 294 TagName element, 387 target objects, 436 TargetName property, 139, 246–248, 250–251, 253–254, 256, 263–266 TargetProperty property, 246–248, 250–251, 253–254, 256, 260, 263–266 TCP (Transmission Control Protocol), 565–567 TcpClient class, 570–572, 577, 580 TcpListener class, 569, 573 tag, 540, 541 Template property, 337–345, 360–361, 365–366, 369–370, 372, 375 TemplateBinding extension, 350 TemplatePart attribute, 347, 357, 359–360, 368, 373 templates creating, 338–345 for custom controls default control template, 369–370 elements, 372–375 expand or collapse button, 370 Expander class, 362–364, 375 Generic.xaml, 365–367 overview, 361–362 parts and states, 367–368 state animations, defining, 371–372 using different, 375–376 overview, 337–338 TemplateVisualState attribute, 347, 348 test pages, 400 testing applications, 11–13 TestPage.html file, 5, 11–13, 16 TestServiceClient class, 426–427, 429 TestService.GetServerTime( ) method, 427 text selection of, 151 wrapping, 131–132 Text property, 98, 125, 131, 150, 438 TextAlignment property, 150 TextBlock class font properties, 127–130 overview, 125–126 runs, 130–131 underlining, 130 wrapping text, 131–132 TextBlock control, 157 TextBlock element, 125–126, 130–131 TextBlock event, 527 TextBlock property, 131 TextBlock.Background property, 486 TextBox class, 35, 150–151, 514 TextBox control, 40, 157, 484 TextBox element, 125 TextChanged event, 118–119 TextDecorations property, 130–131 9497Index.qxd 10/14/08 3:26 PM Page 605 ■INDEX TextWrapping property, 131, 150 element, 540 Thickness structure, 59 ThicknessAnimation class, 259 thread affinity, 513 Thread class cancellation support, 521–523 marshalling code to user interface thread, 513–515 overview, 511–513 thread wrapper creating, 515–517 using, 519–521 Worker class, 517–519 thread pool, 525 thread wrapper creating, 515–517 using, 519–521 Thread.Sleep( ) method, 523 Thread.Start( ) method, 512, 523 ThreadState property, 512 ThreadWrapper class, 517 ThreadWrapperBase class, 516–517, 521 ThreadWrapperBase.StartTaskAsync( ) method, 522 ThreadWrapperBase.State property, 519 ThreeColorBrush class, 46 Thumbnail checkbox, 313 Tick event, 511 time slice, 509 TimelineMarker property, 313, 316 TimelineMarkerRoutedEventArgs object, 313 To property, 251, 252 To transition, 354–355 ToArray( ) method, 457 ToggleButton class, 139–141 ToggleButton element, 125, 368–377 ToList( ) method, 457 Toolbox tab, 411 ToolTip class, 142–144 Tooltip control, 135 ToolTip element, 142–143 ToolTip property, 144, 152 ToolTipService.ToolTip property, 142–143 Top property, 194 ToString( ) method, 136, 146, 453, 464, 477 TransformGroup class, 236 TransformGroup property, 259, 271, 273 transforms layout containers, 239–240 overview, 88, 235–237 reflection effect, 240–241 shapes, 237–239 TransitionCompleted( ) event handler, 282 transitions From and To, 354–355 custom, 356–357 default, 353–354 overview, 352–353 to steady state, 355–356 TranslateTransform class, 235–236, 259, 280 TranslateTransform property, 349 Transmission Control Protocol (TCP), 565–567 transparency Opacity Masks, 231 overview, 228–230 Silverlight control, 232–235 triggers, 338 TryParse( ) method, 465 two-way data binding, 435 TwoWay value, 441–442, 466 txtElement object, 102 type converters, 36–37 TypeConverter attribute, 37 ■U UIElement class, 77, 95, 105, 203 UIElementCollection class, 42 Unchecked state, 353 underlining, 130 Uniform value, 134, 192, 228 UniformGrid container, 77 UniformToFill property, 299 UniformToFill value, 134, 192, 228 UnitCost column, 481 Unlimited size option, 85 UpdatePanel tool, 421–423 updateSilverlight( ) JavaScript function, 397 UpdateTextWrong( ) method, 514 user interface, 1, 51, 97 user interface element, 32, 513 UserControl class, 33, 48, 84, 86 UserControl element, 18, 30, 62, 440 605 9497Index.qxd 606 10/14/08 3:26 PM Page 606 ■INDEX UserControl.RenderTransform property, 90 UserControl.Resources collection, 334, 481–482 UserControl.SizeChanged event, 89 section, 49 UserState property, 182 ■V V y command, 213 ValidatesOnExceptions property, 442 validating data objects, 442–443 value converters creating objects with, 466–468 formatting strings with, 462–466 Value property, 152 ValueChanged event, 152 Variable Bit-rate Encoding (VBR), 307 Version property, 413 VerticalAlignment prefix, 70 VerticalAlignment property, 36, 57–58, 80, 83, 85, 138, 147, 192, 194 VerticalContentAlignment property, 138–139 VerticalGridlinesBrush property, 479 VerticalScrollBarVisibility property, 87, 479 VerticalTemplate element, 358 video See also audio/video effects, 317–323 encoding, 304–310 markers, 310–316 overview, 304 VideoBrush class, 316–317 Video1.wmv file, 303 VideoBrush class, 222, 241, 291, 304, 316–321, 331 VideoWindow element, 418 ViewMode parameter, 165 virtual file system, 493 virtualization, 477, 521 Visibility property, 95, 258, 482 Visible property, 95 Visual C# group, visual skeleton, 51 Visual Studio, 1–2 VisualStateGroups element, 348 VisualStateGroup.Transitions collection, 353 VisualStateManager attribute, 347–348, 350–357, 369, 371, 374, 376–377 VisualStateManager element, 348 VisualStateManager.GoToState( ) method, 374 VisualStateManager.VisualStates group, 347 VisualTransition element, 356 VisualTransition object, 357 VisualTransition.Duration property, 356 VisualTreeHelper class, 43 volume, audio, 295–299 Volume property, 416 ■W \w character, 542 WCF services, 424 Web, placing resources on, 179–181 web services ASP.NET platform services, 431–434 consuming, 425–429 creating, 424–425 cross-domain calls, 430–431 data types, 429–430 overview, 424 WebClient class, 181–182, 184–185, 293, 533–534, 538, 541, 543, 545, 550–551, 556, 561, 563 WebClient.OpenReadAsync( ) method, 538 WebRequest class, 533–534, 543–546, 550, 556, 558 weight, 65 WF (Windows Workflow Foundation), 29 WFC (Windows Communication Foundation), 409 Widgets namespace, 33 Width property, 56–57, 60, 62, 65, 80, 85, 189, 244–246, 254, 412, 414, 416, 418–420, 422 wildcards, 539 windowless parameter, 19 Windowless property, 413 Windows Communication Foundation (WFC), 409 Windows Live Photo Gallery, 325 Windows Media Audio (WMA), 291 Windows Media Encoder application, 304–308 Windows Media Encoder Profiles folder, 305 9497Index.qxd 10/14/08 3:26 PM Page 607 ■INDEX Windows Media File Editor application, 310–312 Windows Media metafiles, 303 Windows Media Video (WMV1), 292 Windows Media Video (WMV2), 292 Windows Media Video (WMV3), 292 Windows Media Video Advanced Profile, non-VC-1 (WMVA), 292 Windows Media Video Advanced Profile, VC-1 (WMVC1), 292 Windows Movie Maker, 304 Windows Presentation Foundation (WPF), 29, 148, 153, 284, 334 Windows Workflow Foundation (WF), 29 wipe transitions, 282–284 WipeTransition class, 282, 284 Wizards tab, 305 WMA (Windows Media Audio), 291 WMV1 (Windows Media Video 7), 292 WMV2 (Windows Media Video 8), 292 WMV3 (Windows Media Video 9), 292 WMVA (Windows Media Video Advanced Profile, non-VC-1), 292 WMVC1 (Windows Media Video Advanced Profile, VC-1), 292 WordArt feature, 270 Worker class, 517–519 Worker.FindPrimes( ) method, 526 WPF (Windows Presentation Foundation), 29, 148, 153, 284, 334 WrapPanel class, 77, 80–83, 102–104 WrapPanel property, 80, 103 Wrapping property, 483 wrapping text, 131–132 WriteObject( ) method, 561 writing data, 496–498 ■X x\ attribute, 41 XAML (Extensible Application Markup Language) code-behind class, 33–34 events, 44 namespaces, 31–33 overview, 29–30 properties attached, 39–40 complex, 37–39 full eight ball example, 44–45 nesting elements, 41–44 overview, 34–36 simple, 36–37 resources, 45–50, 163–164 Xaml web control, 25 XAP files, 13–15, 494 XAttribute object, 551, 553, 557 XDocument class, 547–548, 550–559 XDocument.Elements method, 551 XDocument.Save( ) method, 558 XElement object, 551–553, 555, 557–558 XML attribute, 36 XML data overview, 547–548 services that require, 556–558 services that return, 548–556 XML namespaces, 31–32, 465 XML Paper Specification (XPS), 29, 217–219 XMLHttpRequest object, 534 xmlns attribute, 31 XmlReader class, 547–548, 550, 564 XmlReader.Create( ) method, 178 XmlSerializer class, 501–504, 547–548, 559, 580–581 XmlWriter class, 547–548 XPS (XML Paper Specification), 29, 217–219 ■Z Z command, 213 ZIndex property, 75 ZIP files, 14, 23 Zoom( ) method, 330 ZoomAboutLogicalPoint( ) method, 330 607 9497Index.qxd 10/14/08 3:26 PM Page 608 ... about NET programming, including Pro WPF in C# 20 08 (Apress, 20 08), Pro NET 2. 0 Windows Forms and Custom Controls in C# (Apress, 20 05), and Pro ASP.NET 3.5 in C# 20 08 (Apress, 20 07) He lives in Toronto... it also increases performance by rendering everything through the DirectX pipeline To learn about WPF, you can refer to Pro WPF in C# 20 08 (Apress, 20 08) Silverlight obviously can’t duplicate the...9497FM.qxd 10/14/08 3: 32 PM Page i Pro Silverlight in C# 20 08 Matthew MacDonald 9497FM.qxd 10/14/08 3: 32 PM Page ii Pro Silverlight in C# 20 08 Copyright © 20 09 by Matthew MacDonald All rights reserved