Part of the Microsoft.NET Framework 3.0 Tomer Shamam.NET Technologies Expert Sela Group

Slides:



Advertisements
Similar presentations
Module 1: Creating an Application by Using Windows Presentation Foundation Overview of WPF Creating a Simple WPF Application Handling Events and Commands.
Advertisements

The Microsoft Technical Roadshow 2006 Windows Presentation Foundation (WPF) Marcus Perryman
Introduction to Windows Presentation Foundation (WPF) Dr. Frank McCown COMP 445 – GUI Programming.
Dinko Jakovljević Microsoft Student Partner | BambooLab
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Windows Presetation Foundation (WPF) 1. Introduction.
1 Moderne GUI og Silverlight Windows Presentation Foundation.
Introduction & Welcome Marcus Perryman Mike Taulty
1 Chapter 20 — Creating Web Projects Microsoft Visual Basic.NET, Introduction to Programming.
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
WinFX – A Lap Around the Windows Presentation Foundation Bart J.F. De Smet MVP Visual C#
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Building a UI with Zen Pat McGibbon –Sales Engineer.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
1 COS240 O-O Languages AUBG, COS dept Lecture 33 Building Apps Technologies C# (WPF part 1)
Next Generation for Desktop Applications Doncho Minkov Telerik School Academy schoolacademy.telerik.com Technical Trainer
A Jumpstart to WPF by Kevin Grossnicklaus ArchitectNow.
An Introduction to Silverlight Matt Harrington Developer Evangelist, Microsoft October 20, 2011.
Windows Presentation Foundation. Agenda Introduction Developing Applications WPF and WF interoperability Custom Controls Styles and Templates Data Binding.
Windows Presentation Foundation. Goal The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. Included in version.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Windows Presentation Foundation Adam Calderon Principal Engineer Interknowlogy LLC
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
1 Metro Style Apps in C++ Karthick 8 th May 2012.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Windows Presentation Foundation (WPF) Declare Your Next User Interface.
LAYOUT CONTROLS. XAML Overview XAML : eXtensible Application Markup Language pronounced (ZAMEL) is a markup language used to design user interfaces XML-based.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Presentation advances in.NET Framework 3.0 Mark Johnston Developer & Platform Group, Microsoft Ltd
Adam Calderon – C# MVP Application Development Practice Lead Interknowlogy.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Discover, Master, Influence1 Windows Presentation Foundation David Burela Senior Developer, Readify.
A Lap Around Windows Presentation Foundation. Why hasn’t UX taken off in software? It’s Difficult! Animation 2D 3D Documents Styled Controls Video Windows.
WPF – Windows Presentation Foundation what is it, what can you do with it and how do you get started.
Windows Presentation Foundation (WPF). Introduction Separates appearance of user interface from behavior Appearance usually specified by XAML Behavior.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
ControlTemplate and DataTemplate Doncho Minkov Telerik School Academy Technical Trainer
Module 4 Taking Control of the User Interface. Module Overview Sharing Logical Resources in an Application Creating Consistent User Interfaces by Using.
1 Välkommen till Sommarkollo Windows Presentation Foundation Per Östman ISV Developer Evangelist
.NET Framework Presentation. About Me Patrik Löwendahl –C# MVP –Certified Vista Touchdown Trainer Cornerstone
Identify Windows Application Types Windows Development Fundamentals LESSON 1.1.
Windows Presentation Foundation. User Experience: Recent Past Web HTML Sacrificed UX for portability, connectivity and simplicity 1997 – DHTML.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Windows Presentation Foundation Ruwan Wijesinghe.
Soyatec Contents Needs Architecture XAML fundamentals Data Binding Advanced features Style Q&A.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Introduction to Avalon Mike Taulty Microsoft Ltd
Adam Schultz MVVM and WPF. MVVM Model, View, ViewModel A software architecture designed to separate out User Interface design, Business Logic, and Data.
Introduction to Silverlight Development Pavel Yosifovich CTO, Matrix Global; Senior Instructor, Hi-Tech College
Introduction to Silverlight
Important New Concepts In WPF
Introduction to Visual Basic 2008 Programming
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
MGB 2003 Adam Calderon – C# MVP Principal Engineer Interknowlogy
Introduction to Silverlight
XAML User Interface Creation in C#
WPF AKEEL AHMED.
.NET and .NET Core 7. XAML Pan Wuming 2017.
Silverlight Technology
MIX 09 12/8/2018 4:33 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Ribbon Framework
.NET and .NET Core 8. WPF Hierarchy Pan Wuming 2017.
Web Development Using ASP .NET
Windows Presentation Foundation
Brown Bag Seminar Summer 2007
Presentation transcript:

Part of the Microsoft.NET Framework 3.0 Tomer Shamam.NET Technologies Expert Sela Group

 Introduction to WPF  The WPF Engines  The language of WPF (XAML)  The Microsoft Expression Blend

 Known as WPF  A new presentation programming model  Provides the foundation for building the next generation User Interface  Has the capabilities of precedes technologies such as MFC, Windows Forms including GDI, GDI+, HTML, and much more  Combines together Application UI, Documents, 2D and 3D Graphics, Animation and Media  Exploits the power of your 3D Graphic Card by using DirectX in its core

WPF Showoff

Windows XP Home/Pro SP2 Windows Server 2003 Windows Vista

 Win32  Hosting WPF content inside Win32  Hosting a Win32 window inside a WPF  Windows Forms  Hosting WPF content inside Windows Forms  Windows Forms Control as a WPF content

 Traditional applications are designed to create a display, and then bind it to data  In WPF every aspect of the display is driven by Data Binding  WPF is designed to create objects through property sets that drive behavior  With WPF we can create dynamic, data driven presentation systems

 PresentationFramework, PresentationCore and milcore are the major code portion of WPF  Only milcore is written in unmanaged code for best integration with DirectX and fine control over memory and execution  All display in WPF is done through DirectX PresentationFrameworkPresentationFramework PresentationCorePresentationCore Common Language Runtime milcoremilcore DirectXDirectX User32User32 KernelKernel

 Two kinds of framework elements:  Content and Behavior  Containers of Content and Behavior  Content element can now contain any kind of content, not only text  A ContentControl has a Content property  The Content property specifies any object that can be rendered (text, UIElement)

 WPF provides us with several general- purpose panels  Panel is a container that implements a control layout logic  All panel-controls derive from the WPF Panel class  You can create your own panel Layout Align ResizeDock Move

 Provides facilities for computing property's value based on other properties  Dependency properties are combination of static fields, registered with meta data and CLR properties  Attached property is a property that is defined by a different type than the element to which the property is applied

 Stands for Extensible Application Markup Language  A declarative language to express any CLR object tree by using a set of properties  It is based on standard XML  XAML is the native language for working with WPF

 WPF extends the.NET framework events with routed events  Routed event calls all of the handlers in the composition chain  There are three types of routed events  Direct  Bubbling  Tunneling

 Commands are actually actions  Commands separate the semantics of an action from its logic  Commands can be executed by multiple sources and implemented differently by multiple targets  Commands can be either enabled or disabled  Open, Close and Print file are an example of commands, each one of these can be executed from the Menu, Toolbar or the application itself

 Data binding decouples the view from its data  Data binding provides services for manipulating data automatically  Data manipulation includes displaying, updating, converting, sorting, filtering, and editing data  With data binding you write less code to marshal data backward and forward

 A style is a set of properties applied to a content used for visual rendering  Styles allow an application or UI designer to standardize on a particular look of the product  The separation of the presentation and logic in WPF allows designers and programmers to work simultaneously

 Data templates provide a great flexibility for defining the presentation of application’s data  A Data Template describes the visual structure of a data object  DataTemplate objects are particularly useful when binding an ItemsControl such as a ListBox to an entire collection  Instead of building view for displaying data, turn the problem on by letting the data to build the view

 Controls in WPF have appearance and behavior  Control template provides a powerful solution for changing the appearance of an existing control  The whole structure and appearance of a control can be completely changed by replacing its default template  Custom controls are not required, unless a new behavior is requested

 Stands for Extensible Application Markup Language  A declarative language to express any CLR object tree by using a set of properties  It is based on standard XML  XAML is the native language for working with WPF

namespace Sela.WPF.Demo { class CSharpDemoWindow : Window { public CSharpDemoWindow() { this.Title = "C# Demo"; this.Height = 200; this.Width = 200; ComboBox comboBox = new ComboBox(); TextBlock item1 = new TextBlock(new Run("Item1")); TextBlock item2 = new TextBlock(new Run("Item2")); TextBlock item3 = new TextBlock(new Run("Item3")); comboBox.Items.Add(item1); comboBox.Items.Add(item2); comboBox.Items.Add(item3); Image image = new Image(); image.Source = new BitmapImage(new Uri("Images/Click.jpg")); StackPanel panel = new StackPanel(); panel.Children.Add(comboBox); panel.Children.Add(image); this.Content = panel; }

<Window x:Class="Sela.WPF.Demo.XAMLDemo" xmlns=" xmlns:x=" Title="XAML Demo" Height="200" Width="200">

 XAML doesn’t suggest a model for UI flow, although it is still possible, but not recommended <Window x:Class="Sela.WPF.FlowDemo1" xmlns=" xmlns:x=" Title="Flow Demo" Height="300" Width="300"> Don't click me! <![CDATA[ void button_click(object sender, RoutedEventArgs e) { Button button = sender as Button; button.Content = "I've warned you!!!"; } ]]>

 Source files are best recommended for flow-code <Window x:Class="Sela.WPF.FlowDemo2" xmlns=" xmlns:x=" Title="Flow Demo" Height="300" Width="300"> Don't click me! // FlowDemo2.xaml.cs using System;... namespace Sela.WPF { public partial class FlowDemo2 : Window {... void button_click(object sender, RoutedEventArgs e){ Button button = sender as Button; button.Content = "I've warned you!!!"; }

The XAMLPad

 Blend is a professional design tool for creating rich and sophisticated WPF content and application interfaces  Expression Blend provides tools for  Vector, Text, 2D and 3D Drawing  Robust Animation, 3D and Media Integration  Customization and Skinning options  Integration with Data and External Resources  Real-time design and markup views

Toolbox Menu Interaction Panel Interaction Panel Artboard Result Panel Project, Properties, Resources Panel

Designing with Blend

 WPF is designed to allow you to create a dynamic, vector based, data driven presentation layer  WPF provides you with the following benefits:  Hardware support for faster UI  Rapid Development  Easy Deployment  Reduced time to market  Reduced integration time  Designer-Developer better collaboration  Sexier 2D and 3D UI  Media and Animation  Win32 and Windows Forms integration

Tomer Shamam.NET Technologies Expert Sela Group