Create Amazing Custom User Interfaces with WPF, C#, and XAML in .NET 3.0

Front Cover
John Wiley & Sons, Nov 23, 2010 - Computers - 480 pages
This Wrox Blox presents WPF along with the Extensible Application Markup Language (XAML), showing developers how to customize existing user interface controls such as the Button, Progress Bar, CheckBox, Radio Button, and Label along with creating two new custom controls. The Windows Presentation Foundation (WPF) released with the .NET 3.0 SDK provides a rich foundation for developing and customizing user interfaces. Unlike existing user interface development tools like GDI and GDI+, WPF is entirely vector-based, offering the developer enhanced two-dimensional and even three-dimensional rendering in the presentation layer. The author customizes these existing controls using XAML to:
  • Create control templates to define their appearance and behaviors.
  • Create two new custom controls, one derived from System.Windows.UserControl and the second from System.Windows.Control.
  • Illustrate the interoperability of WPF content in Windows Forms and Win32 applications.
  • Create the code samples using Microsoft Visual Studio 2005 with extensions for .NET 3.0 and the .NET 3.0 SDK. These code samples contain four projects: A C# WPF control library that contains the control templates and a User Control containing the customized Windows controls and the two new custom controls; a C# WPF application to host the WPF User Control; a C# Windows Forms application to host the WPF User Control; and a C++ Win32 application to host the WPF User Control.

What people are saying - Write a review

We haven't found any reviews in the usual places.

Common terms and phrases

_CenterPoint _CenterPoint.Y _Colors.Add(Colors.Green _Colors.Add(Colors.Red _NumFrame _NumSpokes _Timer _Wedges Andrew Moore BeachballSpinner bézier curves BorderStroke Brush BulletDecorator object BulletDecorator.Bullet Button Margin="8 CheckBox Margin="10 circle control library control point control template control to customize ControlTemplate ControlTemplate.Triggers create CustomControlLibrary project called customize the appearance define DegreesToRadians(startAngle deltaAngle dialog box Dictionary double thetaRadians figure.Segments.Add(new follows Gel button GradientStop Offset="0 Grid Background="{StaticResource ControlFill HoverGelBackgroundFill HWND IsChecked IsThreeState="true Label LinearGradientBrush namespace NormalGelBackgroundFill private int progress bar protected override void radio button radius Resource ResourceDictionary Source="Button.xaml ResourceDictionary Source="ProgressBar.xaml ResourceDictionary Source="SharedResources.xaml ResourceDictionary xmlns=" ResourceDictionary.MergedDictionaries rounded rectangle segment Setter Property="Foreground Setter Property="SnapsToDevicePixels Setter Property="Template Setter TargetName="Border Setter.Value SharedResources.xaml shows the user spoke StackPanel startAngle System.Windows.Controls.Control System.Windows.Controls.UserControl System.Windows.Threading.DispatcherTimer TargetType="{x:Type this._NumCounter Trigger Property="IsEnabled user interface UserControl x:Class="CustomControlLibrary1.UserControl1 UserControl.Resources Value="{StaticResource ButtonPushedFill Value="False Value="true Visual Studio Visual Studio 2005 WaitSpinner Wedge Win32 application Windows controls Windows Forms application WPF content WPF Controls WrapPanel HorizontalAlignment="Center Wrox Blox XAML xmlns:cust="clr­namespace:CustomControlLibrary1 xmlns:x="

About the author (2010)

Andrew Moore has been developing software since 1998 for radar systems, air traffic management, discrete-event simulation, and business communications applications using C, C++, C#, and Java on the Windows, UNIX, and Linux platforms. He is currently working as a Software Engineer at Interactive Intelligence, Inc. in Indianapolis, Indiana, developing Microsoft-based applications for business communications. Andrew lives in Indiana with his wife Barbara and children Sophia and Andrew.

Bibliographic information