Jim Fawcett CSE775 – Distributed Objects Spring 2011

Slides:



Advertisements
Similar presentations
MVVM Overview Frank Shoemaker MindCrafted Systems
Advertisements

Lessons learned from developing a Windows 8 Metro application in C# Frode Nilsen Nilsen Labs Ticki.
Dinko Jakovljević Microsoft Student Partner | BambooLab
Or How I Learned to Stop Worrying and Love the Binding Bryan Anderson.
An Introduction To Silverlight Gergely Orosz
WPF. Origins – Who, When, Where  Who? Microsoft  When? November 2006  Where? Windows Vista Windows Server 2003 Windows XP Service Pack 2.
Building Silverlight Applications Using the MVVM pattern An Introduction by Peter Messenger Senior Developer – Qmastor
.NET Database Technologies: Introduction to WPF and Entity Framework DataBinding.
Target: dependency property Source: any public property CLR and WPF properties Target: dependency property Source: any public property CLR and WPF properties.
Module 11 Control Customization. Module Overview Overview of Control Authoring Creating Controls Managing Control Appearance by Using Visual States Integrating.
Windows Presentation Foundation. Agenda Introduction Developing Applications WPF and WF interoperability Custom Controls Styles and Templates Data Binding.
WPF, Windows Presentation Foundation A platform for building rich user experiences on Windows An Architect overview By Shahzad sarwar.
Windows Presentation Foundation Adam Calderon Principal Engineer Interknowlogy LLC
Adam Calderon – C# MVP Application Development Practice Lead Interknowlogy.
V 1.0 Programming III. Automatic notifications (…Changed, INofityPropertyChanged, ObservableCollection ) Data formatters Data conversions Resources.
WPF, Windows Presentation Foundation A platform for building rich user experiences on Windows An Architect overview By Shahzad sarwar.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Module 12 Attached Properties and Behaviors in WPF.
Adam Calderon – C# MVP Application Development Practice Lead Interknowlogy.
Module 2 Introduction to Visual Studio 2010 and WPF Version 4.
Discover, Master, Influence1 Windows Presentation Foundation David Burela Senior Developer, Readify.
Module 7 Data Binding to Collections. Module Overview Binding to Collections of Objects Using Collection Views Create Master-Detail User Interfaces Using.
Windows Presentation Foundation (WPF). Introduction Separates appearance of user interface from behavior Appearance usually specified by XAML Behavior.
Last Lecture objective C memory management rules Wrote our first iPhone app a quiz app xib and nib files and interface editor MVC pattern IBOutlet IBAction.
Observer design pattern A closer look at INotifyPropertyChanged, INotifyPropertyChanging and ObservableCollection Observer design pattern1.
ForeCiteNote by Emma Nguyen, 11 th June Outline Overview Server side Client side  JavaScript classes.
Nikhil Kothari Software Architect Microsoft Corporation Session Code: WUX312.
ControlTemplate and DataTemplate Doncho Minkov Telerik School Academy Technical Trainer
Module 3 Designing and Developing a User Interface.
Module 8 Enhancing User Interface Responsiveness.
1 Catching up on Rich Clients (round 1) Mike Ormond, Mike Taulty Developer & Platform Group Microsoft Ltd
Module 4 Taking Control of the User Interface. Module Overview Sharing Logical Resources in an Application Creating Consistent User Interfaces by Using.
Windows Forms in Visual Studio 2005: An in-depth look at key features Name: Joe Stegman Title: Lead Program Manager Session code.
Friday, March 8 Creating real Custom Controls Kelvin van Geene 12:15.
V 1.0 Programming III. Automatic notifications with data binding (…Changed, INofityPropertyChanged, ObservableCollection, DataTemplate) Data formatters.
WPF Fundamentals. Class Hierarchy Object DispatcherObject DependencyObject FreezableVisual UIElement FrameworkElement Control Visual3D UIElement3D ContentElement.
Model View ViewModel Architecture. MVVM Architecture components.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Windows Presentation Foundation Ruwan Wijesinghe.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Windows 8 apps and the MVVM pattern SILVERLIGHTSHOW.NET WEBINARS SERIES GILL CLEEREN, October 16 th
Part of the Microsoft.NET Framework 3.0 Tomer Shamam.NET Technologies Expert Sela Group
Data Binding, Binding Properties Doncho Minkov Telerik School Academy Technical Trainer
DES201 - Developers and Designers collaboration Level 200 Aude Mousset Artistic director i-Breed - France Dick Lantim User eXperience Advisor Microsoft.
Adam Schultz MVVM and WPF. MVVM Model, View, ViewModel A software architecture designed to separate out User Interface design, Business Logic, and Data.
Jim Fawcett, Brown Bag Seminar Series Fall 2007
Introduction to Silverlight
In Windows 8 Store Applications
Windows Presentation Foundation
Leading edge windows development
Important New Concepts In WPF
Ben Riga 02 | Basics of View Models Ben Riga
Jim Fawcett, Brown Bag Seminar Series Fall 2007
Creative Databinding With Delphi 8 for .NET
Jim Fawcett CSE791 – Distributed Objects Spring 2001
MGB 2003 Adam Calderon – C# MVP Principal Engineer Interknowlogy
Introduction to Silverlight
MFC Dialog Application
XAML User Interface Creation in C#
03 | Building Windows Store Apps with XAML Part 3
WPF AKEEL AHMED.
.NET and .NET Core 7. XAML Pan Wuming 2017.
Windows Presentation Foundation
11/27/2018 7:24 PM Тренинг Введение в разработку приложений на Windows Presentation Foundation Занятие 5 Элементы управления Роман Здебский
An introduction to MVVM using WPF NISCHAL S
DEV312 基于WPF的数据绑定.
.NET and .NET Core 8. WPF Hierarchy Pan Wuming 2017.
New Tools In Education Minjun Wang
CSE775 DO supporting slides for VRTS Client Demo
Brown Bag Seminar Summer 2007
Presentation transcript:

Jim Fawcett CSE775 – Distributed Objects Spring 2011 WPF Controls Jim Fawcett CSE775 – Distributed Objects Spring 2011

References Programming WPF, 2nd Edition, Sells and Griffith, O’Reilly, 2007 Silverlight 4 Unleashed, Bugnion, SAMS, 2011 MSDN: Data Binding Overview

WPF - The Parts Rendering Model Dispatcher INotifyChange DependencyObject Change notification Attached Properties ObservableCollection Data Binding Markup Extensions Control Template Data Template Resource Dictionaries

Rendering Model WPF Graphics Rendering Visual class is base for all FrameworkElement classes. Holds the Hwnd of the underlying Win32 Application Window. Supports: Rendering serialized, persisted drawing content Transformations and clipping Hit testing Bounded Boxes Uses Retained Graphics Mode Drawing information is persisted in a serialized state by application, but WPF is responsible for rendering – you never call invalidate(). Uses Painter’s Algorithm

Dispatcher WPF_DispatcherDemo MSDN: WPF Threading Model WPF uses a message loop, similar to Win32 programs Adds priority queuing All WPF applications have at least two threads Message pump thread, managed by Dispatcher Rendering thread Windows have thread affinity, e.g., the STA model. Worker threads return results to the UI thread for display They use UIElement.DispatcherObject.Dispatcher.Invoke(…) DispatcherObject, base for UIElements, holds the UI Dispatcher as a property and provides CheckAccess() and VerifyAccess() methods to see if the operation needs to be dispatched through Dispatcher.Invoke(…)

Change Notification WPF_ChangeNotification Implement Change Notification All WPF property binding works through change notification: Every UIElement derives from DependencyObject DependencyObject implements INotifyPropertyChanged One element, the PropertyChanged event Binding: Subscriber uses UIElement.DataContext.Source as Publisher Subscribes to its PropertyChanged event Compiled Xaml provides a handler for the subscription that handles the property change.

Dependency Object All UIElements derive indirectly from DependencyObject DependencyObject provides: Facilities for one-way and two-way property change notification, based on the INotifyPropertyChanged interface A property dictionary used to hold values of properties, including values for container properties, called attached properties. A UIElement registers its dependency properties using Register method. UIElement registers its attached properties using RegisterAttached. Values returned from the property system are evaluated in a multistep process: Coercion, animation, local value, parent template properties, implicit style, style triggers, template triggers, style setters, default style, inheritance, default value defined in dependency property metadata

Observable Collection Observable Collections A dynamic data collection that provides notifications when items are: Added Removed List is refreshed Implemented by: ObservableCollection<T> List<T> Collection<T> BindingList<T>

Data Binding WPF_DemoPanels MSDN Data Binding Overview The markup extension: targetProp = “{Binding Path=PropName}” attempts to subscribe to the PropertyChange event of the object listed as source in the closed DataContext.

Control Template WPF_ControlTemplateDemo MSDN: ControlTemplate Class Awaiting more slide content

Data Template WPF_DataTemplateDemo MSDN: DataTemplate Class Awaiting more slide content

Resource Dictionaries WPF_DemoPanels MSDN: WPF Resources Slide awaiting more content