nathan black sde microsoft session code: wem203 overview of wpf windows presentation foundation ui...
TRANSCRIPT
Leveraging WPF in Windows Embedded Standard Code Name “Quebec”
Nathan BlackSDEMicrosoftSession Code: WEM203
Overview of WPFWindows Presentation Foundation
UI Framework Introduced in .NET 3.0Rich UI Development Using Extensible Application Markup Language (XAML)Clear Separation of Design and Business LogicWPF/e Used in Silverlight
What is XAML?
The XML language used to create WPF ApplicationsDeclarative rather than proceduralXAML gets compiled into an object definition
Anatomy of a XAML File<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
x:Class="AirportKiosk.Window1"x:Name="Window" Title="Window1"
• Width="640" Height="480">
<Grid x:Name="LayoutRoot"> <Grid Width="100" Height="100"> <Button Content="Hello">
<Button.Background> <Brush>Orange</Brush></Button.Background>
</Button> </Grid></Grid>
</Window>
Main Window
Layout Grid
Individual Controls (Button)
Code Behind
<Button Content="Hello" x:Name="Button1" Click="Button1_Click"> <Button.Background> <Brush>Orange</Brush> </Button.Background></Button>
Event declared in XAMLLogic implemented in a code-behind file (C#, VB.NET, or any other .NET language)
Code Behind (continued)
public partial class Window1{
public Window1(){ // Load our component from XAML InitializeComponent();}
public void Button1_Click(object sender, RoutedEventArgs e)
{ MessageBox.Show("Hello!");}
}
Data Binding
XAML UI can be bound to CLR objects or XMLProperties can also be bound to ADO.NET and objects associated with Web Services and Web PropertiesSort, filter and group views can be generated on top of the data
Binding Target Binding Source
Dependency Object Object
Dependency Property
Property
One WayTwo Way
One Way To Source
Data Templates
<ListBox ItemsSource="{Binding Source={StaticResource photos}}" …> <ListBox.ItemTemplate> <DataTemplate> <Image Source="{Binding Path=FullPath}"
Height="30"/> </DataTemplate> </ListBox.ItemTemplate></ListBox>
Leveraging WPF for Embedded Devices
Perfect for applications where UI is keyATMKioskPoint of SaleJukebox
The Silverlight OptionVery small footprint for small devicesDeployment and servicing is simplifiedTradeoffs when in the browser
Expression BlendNathan BlackSDEMicrosoft
demo
Quebec toolkit
Embedded OS
Image-Based Setup on the device
Quebec Image Building Concepts
Embedded Core(Bootable)
EnhancedWrite Filter
InternetExplorer
Lang Packs/Driver Packs
3rd PartySoftware Installer OS Updates
Update PackageFeature PackagesEEF Package
About the Toolkit
The toolkit provides a rich set of utilities to help support the development lifecycle of an Embedded Windows OS
Analysis of target machineConfiguration of embedded run-time imageBuilding of embedded run-time image based on configurationOnline tweaking and testing of embedded run-timeCapture of final embedded run-time image to be deployedDeploy captured image to many devices
Based on the Windows AIK/OPK
WES 2009 vs. Quebec
ProcessWindows
Embedded Standard (WES)
Quebec
Analysis TAP.exe generates a .PMQ File
TAP.exe generates a PMQ File (same file as
WES)
ConfigurationUse Target Designer to create a configuration
file (SLX)
Use Image Configuration Editor (ICE) to create an
answer file
Run-time Image BuildImage build happens on the developer machine using Target Designer
Image build happens on the reference/target device using Image
Builder Engine
WES 2009 vs. QuebecProcess
Windows Embedded
Standard (WES)Quebec
Resource Management SQL DBM File-based repository
Custom Resources Component DesignerUse ICE to generate
answer file with Data Image, $OEM$ Folders,
and scripting
Image Capture FbresealSDI
SysprepImageX
Image Configuration Editor (ICE)IDE-type applicationEnables scripted build and installation through image builder engineProvides advanced functionality
Ability to configure settingsAbility to script installation of 3rd party applicationsSearch and dependency resolution
Answer File
ICE
Distribution Share Interface
Image Builder Engine (On the
device)
1.Install 2.Configure 3.Save 4.Build & Install
Shell Launcher
Embedded devices are task-centricThe one application should be all they want
Replacing the shell previously required registry editingShell Launcher provided as a simple way to do this common task
Simple setting apart of Embedded Enabling Features (EEFs)
Configuring the Kiosk Image Using ICENathan BlackSDEMicrosoft
demo
Airport KioskNathan BlackSDEMicrosoft
demo
question & answer
Windows Embedded Resources
Website: www.windowsembedded.com
Social Channels: blogs.msdn.com/mikehallblogs.msdn.com/obloch
Technical Resources: http://msdn.microsoft.com/embedded
Tools evaluations: www.windowsembedded.com/downloads
Related ContentARC310 Building Modular Applications Using Microsoft Silverlight and WPFWUX204 Building Rich Business Clients in WPF: Building Data Visualization Applications with the Windows Presentation FoundationWUX304 Building Rich Business Clients in WPF: New Tools and Controls for Windows Presentation FoundationWUX305 Building Rich Business Clients in WPF: Getting the Most Out of Windows Presentation Foundation
WEM04-HOL Develop and Deploy a WPF Shell for Windows Embedded Standard 2009WEM07-HOL Using WPF and Microsoft POS for .NET to Create an Application for Windows Embedded POSReady 2009DTL03-HOL Data-centric WPF Applications
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learningMicrosoft Certification and Training Resources
www.microsoft.com/learning
Microsoft Certification & Training Resources
Resources
Complete an evaluation on CommNet and enter to win!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.