Sundew. Application Framework
|
|
- Loreen Paul
- 6 years ago
- Views:
Transcription
1 Sundew Application Framework
2 Contents Hukano Sundew... 3 Introduction... 3 Idea and motivation... 3 The Sundew Application Model... 4 Architecture... 4 Model-View-ViewModel according to Hukano... 5 ViewModels... 5 ViewModel hierarchy... 5 Lists... 7 Mediator... 8 PropertyMap... 9 Input Validation Interaction engine/command model Command tree handling Example Web: 2
3 Hukano Sundew Introduction Sundew requires some familiarity with XAML and the Model-View-ViewModel (MVVM) design pattern. Readers of this document should have a basic understanding of DataBinding and working with XAML. More information about WPF: More information about Silverlight: More information about Windows Phone 7: More information about MVVM design pattern: Sundew aims to support the latest Microsoft Development platforms: Windows Presentation Foundation 4 (WPF), Silverlight 4 (SVL) and Windows Phone 7 (WP7). All functionality builds on top of.net framework, which ensures the best compatibility now and for future versions. Due to differences in the Microsoft platforms Sundew feature also differ in some cases. At the moment it is possible to single source large amounts of code and Hukano focuses on making the API s even more compatible for future versions of.net. Idea and motivation The idea and motivation behind the Sundew framework, compared to other MVVM frameworks, is to create a framework that promotes implementing business logic in a testable fashion. Main focuses are: Supporting extremely thin GUI layer, by moving implementation to business layer Completely unit testable business layer Possibility to run coded GUI tests without GUI dependencies Support Expression Blend as a design tool Mapping requirements (e.g. user stories) closer to actual implementation Highly extensible/overridable Streamline developing.net applications across Microsoft platforms with a unified API Strongly typed Web: 3
4 The Sundew Application Model Architecture Sundew framework is a base class library assisting developers in implementing the business layer when working with the Model-View-ViewModel design pattern. The following illustration shows the placement of the Sundew framework in a multi-tier architecture. Presentation Layer Separation ValidationRules & IValueConverters Viewing with.net DataBinding Commanding Microsoft.NET Business Logic Input Validation on top of WPF Validation model ViewModeling Command engine on top of Command model Hukano Sundew Layer Separation WeakListening Data Modeling Object Relation Mapping Other framework The illustration shows that Sundew interfaces in three areas with.net, for validation, databinding and commanding. ViewModeling assists in presenting data to the user. Input Validation handles validating input from a user e.g. when typing text in a TextBox. The interaction engine handles commands executed by the user. All subjects will be described further. Web: 4
5 Model-View-ViewModel according to Hukano ViewModels Throughout this document the terms View, ViewModel and Model will be used frequently, the illustration below shows their relationship. View ViewModel : ViewModel<TModel> Model : NotifyingObject In MVVM the view-model acts as a wrapper for the model in order to prepare the model for the view. The view holds a reference to the view-model (FrameworkElement.DataContext property) and the view-model holds a reference to the model (ViewModel<T>.Model property), but never in the other direction. The.NET Binding engine listens to property change notifications on the view-model through the INotifyPropertyChanged interface. Reference on MSDN: In the same fashion, the view-model listens to changes in the model. This is implemented with weak referencing to ensure that there is never a strong reference from the model to the view-model through the PropertyChangedEventHandler delegate. Sundew provides a ViewModel base class which comes in both standalone and generic versions. Also a NotifyingObject class is provided and it can be used as the base class for models. Models are required to implement to INotifyingObject interface and notify listeners when properties change. ViewModel hierarchy The purpose of the view-model hierarchy is to build a hierarchy of view-models similar to the hierarchy of models. It also makes parent/child relationships between view-models and thus providing the possibility to run input validation down the view-model hierarchy. The hierarchy is maintained by a simple API, quite similar to the DependencyProperty system of.net. It requires creating a ViewModelProperty using the static Register method found on the ViewModelProperty class. The Get- and SetViewModelChild method found on the ViewModel class gets and sets the child view-model by taking the ViewModelProperty as a parameter. Web: 5
6 The class diagram below shows the ViewModel base classes and their public/protected interface. Web: 6
7 Lists Working with lists is made easy with the ObservableCollection class in.net. An ObservableCollection will notify changes in the list through the INotifyCollectionChanged interface similar to the way the INotifyPropertyChanged interface work. This means that Views will be automatically updated if for example a new item is added to the list. In Sundew a list of models is also considered a model itself and thus a list of view-models and a list of views exist. ListView ListViewItem ListViewItem ListViewItem ListViewModel <TModel, TItemViewModel> ItemViewModel ItemViewModel : ItemViewModel :: ItemViewModel ItemViewModel <TContainerViewModel, <TContainerViewModel, TModel> <TModel, TParentViewModel> TModel> NotifyingCollec tion<tmodel> Model Model : Model : : NotifyingObject NotifyingObject NotifyingObject The NotifyingCollection is a Sundew class derived from ObservableCollection and extends implementation with the INotifyCollectionChanging interface. The base class ListViewModel ensures synchronizing changes in the NotifyingCollection, which means there will always be a ViewModel for any model in the list. Sundew also provides base classes for trees and nodes. The use is similar to that of ListViewModel. See NodeViewModel in the API reference documentation. Web: 7
8 Mediator The responsibility of the Mediator is to provide inter- view-model communication. Consider the sample illustration below. Person FirstName get; set; LastName get; set; PersonViewModel1 FirstName get; LastName get; IsSelected get; Mediator used to notify IsSelected changed PersonViewModel2 FirstName get; set; LastName get; set; IsSelected get; set; As the illustration shows: The Person model has two properties FirstName and LastName. PersonViewModel1 is a read only view-model since it only has get properties. PersonViewModel2 can both read and write to the model. Both ViewModel implements a third property IsSelected. Since IsSelected has nothing to do with the model of being a person, the property does not exist in the Person class. The problem is that the two view-models have similar data, but since they have no knowledge of each other, PersonViewModel1 is unable to react to changes in PersonViewModel2s IsSelected property. Using the Mediator class in the Sundew.Mvvm.Messaging namespace it is possible to notify relevant ViewModel siblings about changes. The Sundew Mediator is implemented using Sundew WeakEvent, which ensures that no memory leak occurs. Web: 8
9 PropertyMap The PropertyMap eases handling property change notifications. The generic PropertyMap class takes two arguments PropertyMap<TSender, TListener> and allows the developer to map property notifications on the sender to notify a property on the listener. Also registering handlers to the mapped properties is possible for implementing custom code. Both the interfaces INotifyPropertyChanged and the INotifyPropertyChanging are supported, when implemented by the listener and the sender. All view-models derived from ViewModel<TModel> include a PropertyMap, which allows mapping property changes to handlers in the view-model. This provides an easy and clean way of handling property change notifications. Web: 9
10 Input Validation NB! Input validation is only available in WPF due to limitations of Silverlight and Windows Phone 7. A unified validation engine will be provided when allowed by the.net framework. The Validation model is a part of the DataBinding engine in WPF. Please refer to the DataBinding overview on MSDN: The validation process involves 4+1 steps: 4 validation steps and one conversion step. The steps are executed in the following order: 1. RawProposedValue validation 2. Value Conversion 3. ConvertedProposedValue validation 4. UpdatedValue validation 5. CommittedValue validation In.NET it is required to derive from the abstract class ValidationRule to implement validation. In order to implement a converter the interface IValueConverter must be implemented. The validation model does have limitations, as there is no framework support for specifying whether a field is required or optional and fields are either valid or invalid. With Sundew, fields can also be incomplete. Sundew solves all of these problems by providing new base classes for ValidationRule and IValueConverter: The FeedbackConverter and the FeedbackValidationRule add support for incomplete validation status. Consider the GUI below. In this case the Name field is only accepted for input when the name exceeds three characters. The blue icon indicates that the field is required. Web: 10
11 The sample is implemented using a FeedbackTemplate set on the Attached DependencyProperty on the Feedback class in the Sundew.ValidationModel namespace rather than using the ErrorTemplate property on the WPF Validation class. It is also necessary to use the Sundew.ValidationModel.AdornedViewPlaceholder when making the feedback template instead of the WPF AdornedElementPlaceholder. BindingExpression and BindingGroups may be exposed to the view-model with the Sundew.Xaml.Bindings.FillViewModel property and therefore enabling validation from the view-model. The BindingExpression and BindingGroups are exposed by the ViewModel.Validation property. For an easier way to create converters in XAML use the Sundew.Xaml.TypeFactory markup extension. Web: 11
12 Interaction engine/command model The interaction engine in Sundew is built on top of the.net Command model in order to provide the best possible support for decoupling from the GUI. The engine was designed to solve a number of challenges when developing.net applications. Decoupled from GUI Command tree handling Unit testing support Basic error handling Command tree handling The tree is built by defining CommandDefinitions and thus specifying how commands are related. Multiple command trees are supported by creating multiple CommandTree classes. The root in each CommandTree is called Default. Consider the tree below: <Default> CreateProfile Transition SaveProfile Command SaveProfile may be executed either when CreateProfile or EditProfile is the current command EditProfile Transition DeleteProfile Command SaveProfile Command As the illustration suggests, there are two types of CommandDefinitions: Command and TransitionCommand. Commands are registered with CommandTree.RegisterCommand. TransitionCommands are used to enter to a new state and doing so will only allow commands, which are children of the TransitionCommand, to run. TransitionCommands are registered with CommandTree.RegisterBegin. To return from a TransitionCommand, a CommandDefinition that is registered with CommandTree.RegisterEnd, must be executed. If a user executes the CreateProfile TransitionCommand followed by the SaveProfile Command, the engine will call methods in the following order: CreateProfile.Execute() o SaveProfile.Execute() CreateProfile.EndExecute() Web: 12
13 Example To define a command four steps are mandatory: 1. Create a CommandTree public static readonly CommandTree ProfileCommandTree = new CommandTree ("Main"); 2. Implement the command by deriving from the abstract Command<TContext> class or TransitionCommand<TContext> class. public class CreateProfile : TransitionCommand<UnassignedProfileVM> public override void CanExecute(UnassignedProfileVM context, CanExecuteEventArgs e) e.canexecute = true; public override void Execute(UnassignedProfileVM context, ExecuteEventArgs e)... public override void EndExecute(UnassignedProfileVM context)... public class SaveProfile : Command<ProfileSettingsVM> public override void CanExecute(ProfileSettingsVM context, CanExecuteEventArgs e) e.canexecute =!context.validation.haserrorrecursive; public override void Execute(ProfileSettingsVM context, ExecuteEventArgs e) context.model.getunitofwork().save(); 3. Define a CommandDefinition and map it to the Command or TransitionCommand, CommandDefinitions may be created with the Register methods on the CommandTree class. public static readonly CommandDefinition CreateProfileAction = ProfileCommandTree.RegisterBegin<CreateProfile>("CreateProfile"); public static readonly CommandDefinition SaveProfileAction = ProfileCommandTree.RegisterEnd<SaveProfile>("SaveProfile", new CommandDefinitions(CreateProfileAction)); public CommandDefinition SaveProfile get return SaveProfileAction; public CommandDefinition CreateProfile get return CreateProfileAction; 4. Assign the CommandDefinition to a view element with the Attached DependencyProperty CommandDefinition found in the Sundew.Xaml.Interaction class. <Button xaml:interaction.commanddefinition="binding CreateProfile" Content="Create Profile"/> <Button xaml:interaction.commanddefinition="binding SaveProfile" Content="Save Profile"/> It s possible to bind a command directly to an event of a view through the EventCommand class. The EventCommand supports unit testing by providing an API for extracting data from EventArgs. <Canvas> <xaml:interaction.triggers> <xaml:commandtrigger EventName="Drag" CommandDefinition="Binding MoveItem"/> </xaml:interaction.triggers> </Canvas> Web: 13
Practical WPF. Learn by Working Professionals
Practical WPF Learn by Working Professionals WPF Course Division Day 1 WPF prerequisite What is WPF WPF XAML System WPF trees WPF Properties Day 2 Common WPF Controls WPF Command System WPF Event System
More informationWindows Presentation Foundation (WPF)
50151 - Version: 4 21 January 2018 Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) 50151 - Version: 4 5 days Course Description: This five-day instructor-led course provides
More informationWPF and MVVM Study Guides
1. Introduction to WPF WPF and MVVM Study Guides https://msdn.microsoft.com/en-us/library/mt149842.aspx 2. Walkthrough: My First WPF Desktop Application https://msdn.microsoft.com/en-us/library/ms752299(v=vs.110).aspx
More informationImplementing MVVM in Real World ArcGIS Server Silverlight Applications. Brandon Copeland LJA Engineering, Inc.
Implementing MVVM in Real World ArcGIS Server Silverlight Applications Brandon Copeland LJA Engineering, Inc. 1 Agenda / Focused Topics Application Demo Model-View-ViewModel (MVVM) What is MVVM? Why is
More informationWindows Presentation Foundation Programming Using C#
Windows Presentation Foundation Programming Using C# Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.
More informationNE.15 Data Binding In Windows Presentation Foundation
NE.15 Data Binding In Windows Presentation Foundation Brian Noyes Chief Architect IDesign Inc (www.idesign.net) 1 About Brian Chief Architect, IDesignInc. (www.idesign.net) Microsoft Regional Director/MVP
More informationLearn to develop.net applications and master related technologies.
Courses Software Development Learn to develop.net applications and master related technologies. Software Development with Design These courses offer a great combination of both.net programming using Visual
More informationThis tutorial is designed for software developers who want to learn how to develop quality applications with clean structure of code.
About the Tutorial Every good developer wants and tries to create the most sophisticated applications to delight their users. Most of the times, developers achieve this on the first release of the application.
More informationBuild Loosely Coupled Silverlight Business Applications
Build Loosely Coupled Silverlight Business Applications Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft
More information03 Model-View-ViewModel. Ben Riga
03 Model-View-ViewModel Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows 8 and Windows Phone 8 02 Basics of View Models
More informationMobile Computing Xamarin Data Binding MVVM Pattern
Xamarin Data Binding MVVM Pattern APM@FEUP 1 Data Binding In simple apps Get and set properties of controls is done explicitly in the code behind entry1.text = Hello, world! ; For complex or big apps This
More informationMobile Computing. Xamarin Data Binding MVVM Pattern. Data Binding. XAML binding example. Target Views. In simple apps. For complex or big apps
APM@FEUP Xamarin Data Binding MVVM Pattern 1 Data Binding In simple apps Get and set properties of controls is done explicitly in the code behind entry1.text = Hello, world! ; For complex or big apps This
More informationWindows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018
Windows Presentation Foundation Jim Fawcett CSE687 Object Oriented Design Spring 2018 References Pro C# 5 and the.net 4.5 Platform, Andrew Troelsen, Apress, 2012 Programming WPF, 2nd edition, Sells & Griffiths,
More informationVisual Studio 2015: Windows Presentation Foundation (using VB.NET Language) Training Course Outline
Visual Studio 2015: Windows Presentation Foundation (using VB.NET Language) Training Course Outline 1 Visual Studio 2015: Windows Presentation Foundation Program Overview This Four-day instructor-led course
More informationDOT NET SYLLABUS FOR 6 MONTHS
DOT NET SYLLABUS FOR 6 MONTHS INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate
More informationHCIM SUMMER WORKSHOP Introduction to C#
HCIM SUMMER WORKSHOP Introduction to C# .NET.NET is: Microsoft s Platform for Windows Development CLR (Common Language Runtime) the Virtual Machine that runs MSIL (Microsoft Intermediate Language Code)
More information04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio. Ben Riga
04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows
More informationBuild Better WPF & Silverlight applications using Prism v2
Build Better WPF & Silverlight applications using Prism v2 Client Application Challenges The Problem: Client Applications can be Difficult! How Do You Make The Application Dynamic, Customizable, Extensible,
More informationIndex. Windows 10 running, 199 suspended state, 199 terminate apps,
A Application lifecycle activation ApplicationExecution State, 216 restoring navigation state, 216 217 restoring session information, 217 218 state transitions, 200 activation, 201 killing, 202 launching,
More informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More informationArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins Wolfgang Kaiser Session Overview MVVM Model View ViewModel - View and View Model Implementation in Pro - Dockpane Example - MVVM concepts - Multi
More informationPortable Class Libraries ---
Portable Class Libraries --- Overview In this lab, you ll learn about Portable Class Libraries (PCLs). PCLs enable you to create managed assemblies that work on more than one.net Framework platform. Within
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microso7 Regional Director
More informationDeveloping Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018
Developing Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018 Esri Canada Professional Services Project services Implementation services
More informationPro Business Applications with Silverlight 4
Pro Business Applications with Silverlight 4 Chris Anderson Apress* Contents at a Glance Contents About the Author Acknowledgments iv v xix xx a Chapter 1: Introduction 1 Who This Book Is For 1 About This
More informationBlissful Separation of Concerns with Model-View-ViewModel (MVVM)
Blissful Separation of Concerns with Model-View-ViewModel (MVVM) Brian Noyes Chief Architect, IDesign(www.idesign.net) brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect
More informationChapter 1 Getting Started with Windows Presentation Foundation
Table of Contents Chapter 1 Getting Started with Windows Presentation Foundation 1 Exploring the New Features of WPF 4.0... 2 New WPF Controls for Business Applications... 3 Enhanced Support for WPF and
More informationIndex. Application programming interface (API), 38. Binary Application Markup Language (BAML), 4
Index A Application programming interface (API), 38 B Binary Application Markup Language (BAML), 4 C Class under test (CUT), 65 Code-behind file, 128 Command Query Responsibility Segregation (CQRS), 36
More informationBuilding Extensible XAML Client Apps
Building Extensible XAML Client Apps Brian Noyes Chief Architect, IDesign Inc www.idesign.net brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect IDesign Inc. (www.idesign.net)
More informationMigrate Your Skills to Microsoft.NET Framework 2.0 and 3.0 using Visual Studio 2005 (C#)
Migrate Your Skills to Microsoft.NET Framework 2.0 and 3.0 using Visual Studio 2005 (C#) Course Length: 5 Days Course Overview This instructor-led course teaches developers to gain in-depth guidance on
More informationWindows 8. Rainer Stropek. System Architecture. System Architecture re of Windows Store Apps. Saves the day. software architects gmbh
System Architecture re of Windows Store Apps Rainer Stropek software architects gmbh Windows 8 System Architecture Mail Web Twitter rainer@timecockpit.comcom http://www.timecockpit.com @rstropek Saves
More informationDeveloping Windows Applications with Microsoft Visual Studio 2010
Developing Windows Applications with Microsoft Visual Studio 2010 Course 10262A: Five days; Instructor-Led Course Description: In this course, experienced developers who know the basics of Windows Forms
More informationAndroid PC Splash Brothers Design Specifications
Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.
More informationIntroduction to Web Development with Microsoft Visual Studio 2010
Introduction to Web Development with Microsoft Visual Studio 2010 Course 10267; 5 Days, Instructor-led Course Description This five-day instructor-led course provides knowledge and skills on developing
More informationMastering LOB Development
Mastering LOB Development for Silverlight 5: A Case Study in Action Develop a full LOB Silverlight 5 application from scratch with the help of expert advice and an accompanying case study Braulio Di'ez
More informationPrism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft MVP Silverlight Publishing
More informationPrism Composite Application Guidance
Prism Composite Application Guidance Brian Noyes www.idesign.net Prism Developed by Microsoft patterns and practices Old name: Composite Application Guidance for WPF and Silverlight Guidance for building
More informationGetting Started with ExcelMVC
Getting Started with ExcelMVC Just like Silverlight or WPF (Windows Presentation Foundation), ExcelMVC facilitates a clear separation between your application s business objects (Models), its user interfaces
More informationPART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3
INTRODUCTION xix PART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3 The Life of Windows 3 From Windows 3.1 to 32-bit 4 Windows XP
More informationDE Developing Windows Applications with Microsoft Visual Studio 2010
DE-10262 Developing Windows Applications with Microsoft Visual Studio 2010 Summary Duration 5 Days Audience Developers Level 200 Technology Visual Studio Delivery Method Instructor-led (Classroom) Training
More information--Microsoft-- --Windows Phone--
--Microsoft-- --Windows Phone-- Microsoft Windows Phone Course 10553A: Fundamentals of XAML and Microsoft Expression Blend Course Outline Module 1: Binding in XAML This module familiarizes the students
More informationBuilding Loosely Coupled XAML Client Apps with Prism
Building Loosely Coupled XAML Client Apps with Prism Brian Noyes IDesign Inc. (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft
More informationDEVELOPING WINDOWS APPLICATIONS WITH MICROSOFT VISUAL STUDIO 2010
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: DEVELOPING WINDOWS APPLICATIONS WITH MICROSOFT VISUAL STUDIO 2010 Course: 10262A; Duration: 5 Days; Instructor-led Time: 9.00am 5.00pm Break: 10.15am 10.30am
More informationHPE WPF and Silverlight Add-in Extensibility
HPE WPF and Silverlight Add-in Extensibility Software Version: 14.02 WPF and Silverlight Developer Guide Go to HELP CENTER ONLINE https://admhelp.microfocus.com/uft/ Document Release Date: November 21,
More informationWindows Presentation Foundation Visual Studio.NET 2008
Windows Presentation Foundation Visual Studio.NET 2008 Course 6460 - Three Days - Instructor-led - Hands on This three-day instructor-led course provides students with the knowledge and skills to build
More informationPro Windows 8.1. Development with. XAML and C# Jesse Liberty. Philip Japikse. Jon Galloway
Pro Windows 8.1 Development with XAML and C# Jesse Liberty Philip Japikse Jon Galloway Contents About the Authors About the Technical Reviewers Acknowledgments xvii xix xxi HChapter 1: Getting Started
More informationProgramming in C# for Experienced Programmers
Programming in C# for Experienced Programmers Course 20483C 5 Days Instructor-led, Hands-on Introduction This five-day, instructor-led training course teaches developers the programming skills that are
More informationArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK
ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri Esri UC 2014 Demo Theater New at 10.3 is the ArcGIS Pro Application - Extensibility is provided by
More informationWorkspace Desktop Edition Developer's Guide. Customize Views and Regions
Workspace Desktop Edition Developer's Guide Customize Views and Regions 11/27/2017 Customize Views and Regions Purpose: To provide information about customizable views and their regions. Contents 1 Customize
More informationBuilding a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core. Gill
Building a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core Gill Cleeren @gillcleeren www.snowball.be Agenda Overall application structure The Xamarin application architecture
More informationWPF. Source Module 01: Lesson1
WPF Creating an Application by Using Windows Presentation Foundation Lesson: Overview of WPF What Is WPF? WPF Architecture Defining User Interfaces in WPF WPF Capabilities and Features WPF Application
More informationDeveloping Windows Applications with Microsoft Visual Studio 2010 (MS 10262)
Duration 5 Days About this Course In this course, experienced developers who know the basics of Windows Forms development gain more advanced Windows Client design and development skills. WinForms and WPF
More informationPROGRAMMING WITH THE MICROSOFT.NET FRAMEWORK USING MICROSOFT VISUAL STUDIO 2005 Course No. MS4995A 5 Day PREREQUISITES COURSE OUTLINE
COURSE OVERVIEW This five-day instructor-led course enables developers who are migrating from a different development language, an earlier version of Visual Basic.NET or Visual C#, or who have completed
More informationBeginning Silverlight 5 in C #
Table of Contents: Chapter 1. Welcome to Silverlight 5 1.1 The Evolution of the User interface 1.2 Rich Internet Application Solutions 1.3 What is Silverlight? 1.4 Benefits of Silverlight 1.4.1 Cross-Platform/Cross-Browser
More informationComponentOne Data Source for Entity Framework 1
1 ComponentOne Data Source for Entity Framework Overview ComponentOne Data Source for Entity Framework adds ease-of-use and performance enhancements to the Entity Framework and RIA Services. It improves
More informationModel-view-controller View hierarchy Observer
-view-controller hierarchy Fall 2004 6831 UI Design and Implementation 1 Fall 2004 6831 UI Design and Implementation 2!"# Separation of responsibilities : application state Maintains application state
More informationDeveloping Windows Applications with Microsoft Visual Studio 2010
Course 10262A: Developing Windows Applications with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Windows Client Application Design The goal of this module is to ensure that students
More informationPro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde
Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone Buddy James Lori Lalonde Contents J About the Authors About the Technical Reviewer Acknowledgments Introduction xiii
More information10267 Introduction to Web Development with Microsoft Visual Studio 2010
10267 Introduction to Web Development with Microsoft Visual Studio 2010 Course Number: 10267A Category: Visual Studio 2010 Duration: 5 days Course Description This five-day instructor-led course provides
More information4/25/ Xamarin. All rights reserved.
1 v v Each cell is represented by some data structure which is then visualized on the screen headshot.source =...; nameentry.text = person.name; emailentry.text = person.email; birthday.date = person.dob;...
More information10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010
10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010 Course Number: 10262A Course Length: 5 Days Course Overview In this course, experienced developers who know the basics of Windows
More informationDeveloping Native Windows Phone 7 Applications for SharePoint
Developing Native Windows Phone 7 Applications for SharePoint Steve Pietrek Cardinal Solutions About Cardinal OUR FOCUS: Enterprise Rich Internet Applications Mobile Solutions Portals & Collaboration Business
More informationWindows Presentation Foundation for.net Developers
Telephone: 0208 942 5724 Email: info@aspecttraining.co.uk YOUR COURSE, YOUR WAY - MORE EFFECTIVE IT TRAINING Windows Presentation Foundation for.net Developers Duration: 5 days Overview: Aspect Training's
More information"Charting the Course... MOC A Introduction to Web Development with Microsoft Visual Studio Course Summary
Description Course Summary This course provides knowledge and skills on developing Web applications by using Microsoft Visual. Objectives At the end of this course, students will be Explore ASP.NET Web
More informationIntroduction to Microsoft.NET Programming Using Microsoft Visual Studio 2008 (C#) Course Overview. Prerequisites. Audience.
Introduction to Microsoft.NET Programming Using Microsoft Visual Studio 2008 (C#) Course Number: 6368A Course Length: 1 Day Course Overview This instructor-led course provides an introduction to developing
More informationALPHAPRIMETECH 112 New South Road, Hicksville, NY 11801
ALPHAPRIMETECH 112 New South Road, Hicksville, NY 11801 Course Curriculum COMPUTER SYSTEM ANALYST-.NET C# Introduction to.net Framework.NET Framework OverView CLR,CLS MSIL Assemblies NameSpaces.NET Languages
More informationIntroduction to Web Development with Microsoft Visual Studio 2010
10267 - Introduction to Web Development with Microsoft Visual Studio 2010 Duration: 5 days Course Price: $2,975 Software Assurance Eligible Course Description Course Overview This five-day instructor-led
More informationThe C# Programming Language. Overview
The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built
More informationWpf Button Click Event Firing Multiple Times
Wpf Button Click Event Firing Multiple Times Switch back to the designer, then double-click the button again. Repeating step 3 multiple times, it seems that the caret is placed correctly on every second
More informationNiceLabel.NET SDK Installation and Deployment Guide
NiceLabel.NET SDK Installation and Deployment Guide Rev-1601 NiceLabel 2016. www.nicelabel.com Contents Contents 2 Introduction 3 Intended Audience 3 About this Installation and Deployment Guide 3 Typographical
More informationAdvanced Object-Oriented Programming. 11 Features. C# Programming: From Problem Analysis to Program Design. 4th Edition
11 Features Advanced Object-Oriented Programming C# Programming: From Problem Analysis to Program Design C# Programming: From Problem Analysis to Program Design 1 4th Edition Chapter Objectives Learn the
More informationMCTS:.NET Framework 4, Windows Applications Development
MCTS:.NET Framework 4, Windows Applications Development Course Description and Overview Overview SecureNinja s Windows Applications Development with.net Framework 4 training and certification boot camp
More informationMFC Programmer s Guide: Getting Started
MFC Programmer s Guide: Getting Started MFC PROGRAMMERS GUIDE... 2 PREPARING THE DEVELOPMENT ENVIRONMENT FOR INTEGRATION... 3 INTRODUCING APC... 4 GETTING VISUAL BASIC FOR APPLICATIONS INTO YOUR MFC PROJECT...
More informationTARGETPROCESS PLUGIN DEVELOPMENT GUIDE
TARGETPROCESS PLUGIN DEVELOPMENT GUIDE v.2.8 Plugin Development Guide This document describes plugins in TargetProcess and provides some usage examples. 1 PLUG IN DEVELOPMENT... 3 CORE ABSTRACTIONS...
More informationCOPYRIGHTED MATERIAL. Introducing the Project: The SmartCA Application. The Problem
Introducing the Project: The SmartCA Application The project for this book is based on a real application for a real company. The names of the company and the application have been changed for privacy
More informationMicrosoft Visual C# Step by Step. John Sharp
Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationLearn to Behave Extend Your XAML with Behaviors
Learn to Behave Extend Your XAML with Behaviors Brian Noyes Chief Architect, IDesign Inc. www.idesign.net brian.noyes@idesign.net, @briannoyes Level: Intermediate About Brian Chief Architect IDesign Inc.
More informationWorkspace Desktop Edition Developer's Guide. Best Practices for Views
Workspace Desktop Edition Developer's Guide Best Practices for Views 12/4/2017 Contents 1 Best Practices for Views 1.1 Keyboard Navigation 1.2 Branding 1.3 Localization 1.4 Parameterization 1.5 Internationalization
More informationIntroduction. Thank you for picking up Silverlight 1.0 Unleashed! IN THIS CHAPTER. . Who Should Read This Book?. Software Requirements
Nathan_Intro_Iss 9/21/07 2:01 AM Page 1 IN THIS CHAPTER. Who Should Read This Book?. Software Requirements Thank you for picking up Silverlight 1.0 Unleashed! Silverlight is changing the way many people
More informationCHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More informationLearning to Program in Visual Basic 2005 Table of Contents
Table of Contents INTRODUCTION...INTRO-1 Prerequisites...INTRO-2 Installing the Practice Files...INTRO-3 Software Requirements...INTRO-3 Installation...INTRO-3 Demonstration Applications...INTRO-3 About
More informationGraphical interface for ecall incidents
Database Systems Journal vol. VII, no. 4/2016 47 Graphical interface for ecall incidents Claudiu Dan BARCA The Romanian-American University, Bucharest Using data on incidents ecall in traffic control center
More informationArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod
ArcGIS Pro SDK for.net Beginning Pro Customization Charles Macleod Session Overview Extensibility patterns - Add-ins - Configurations Primary API Patterns - QueuedTask and Asynchronous Programming - async
More informationNET 3.0 and NET 3.0 contains four building blocks, shown in the figure below:
NET 3.0 and 3.5 NET 3.0 is a brand name for a set of modern technologies, designed to be the next-generation Windows development platform..net 3.0 was released with Windows Vista in November 2006 2007..NET
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationThin Client for Web Using Swing
Thin Client for Web Using Swing Raffaello Giulietti and Sandro Pedrazzini SUPSI, Dipartimento di Informatica ed Elettrotecnica, Galleria 2, CH-6928 Manno, Switzerland TINET SA CH-6928 Manno, Switzerland
More informationvar xdoc = XDocument.Load(inStream);
Gradebook Sample App Summary: The goal of this project is to demonstrate how to share code across project types by using a Portable Class Library between a traditional Windows* Desktop application and
More informationChapter 14. Additional Topics in C# 2010 The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill
Chapter 14 Additional Topics in C# McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Chapter Objectives - 1 Validate user input in the Validating event handler and display messages
More informationTizen.NET. Transition of Tizen Developer Environment. Samsung Electronics S/W Center Sung-Jae Lee, Seungkeun Lee
Tizen.NET Transition of Tizen Developer Environment Samsung Electronics S/W Center Sung-Jae Lee, Seungkeun Lee 2016. 11. 17 Index Intro Language API & Framework Tools Collaborations & Roadmap 01 09 15
More informationTo get started with Visual Basic 2005, I recommend that you jump right in
In This Chapter Chapter 1 Wading into Visual Basic Seeing where VB fits in with.net Writing your first Visual Basic 2005 program Exploiting the newfound power of VB To get started with Visual Basic 2005,
More informationThis document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project.
MVVMStarter Guide This document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project. Table of Content Introduction...2 Purpose...2
More informationLecture # 6 Engr. Ali Javed 11th March, 2014
Lecture # 6 Engr. Ali Javed 11 th March, 2014 Instructor s Information Instructor: Engr. Ali Javed Assistant Professor Department of Software Engineering U.E.T Taxila Email: ali.javed@uettaxila.edu.pk
More informationYes, this is still a listbox!
Yes, this is still a listbox! Step 1: create a new project I use the beta 2 of Visual Studio 2008 ( codename Orcas ) and Expression Blend 2.0 September preview for this tutorial. You can download the beta2
More informationKlarSynt Tools. A tool for automating configurations of test environments. Simon Vestin & Daniel Svensson
KlarSynt Tools A tool for automating configurations of test environments Simon Vestin & Daniel Svensson Faculty of Health, Science and Technology Computer Science Bachelor's Degree, 15 points Supervisor:
More informationDE Introduction to Web Development with Microsoft Visual Studio 2010
DE-10267 Introduction to Web Development with Microsoft Visual Studio 2010 Summary Duration 5 Days Audience Developers Level 100 Technology Microsoft Visual Studio 2010 Delivery Method Instructor-led (Classroom)
More informationUnderstanding Events in C#
Understanding Events in C# Introduction Events are one of the core and important concepts of C#.Net Programming environment and frankly speaking sometimes it s hard to understand them without proper explanation
More informationCross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed
Cross-Platform Mobile Platforms and Xamarin Presented by Mir Majeed Agenda 1. Sharing Code Among Different Platforms File-Linking into each App Project Portable Class Libraries 2. Solution Population Strategies
More informationDesign Patterns Reid Holmes
Material and some slide content from: - Head First Design Patterns Book - GoF Design Patterns Book Design Patterns Reid Holmes GoF design patterns $ %!!!! $ "! # & Pattern vocabulary Shared vocabulary
More information