Showing posts with label XAML. Show all posts
Showing posts with label XAML. Show all posts

Tuesday, February 03, 2015

Cool eBook of the Day #1: Xamarin.Forms Book Second Preview Edition Now Available

Xamarin - Announcing the Xamarin.Forms Book Second Preview Edition!

Since Xamarin Evolve 2014, we’ve received fantastic feedback on the first Preview Edition of Charles Petzold’s Creating Mobile Apps with Xamarin.Forms, so we’re excited to announce that we’re making a Second Preview available for download.

The book has been updated to incorporate feedback from the first preview, as well as to include the latest features from Xamarin.Forms 1.3. Readers will notice a substantial re-organization of the book and additional XAML content that was not in the first preview.

The following chapters are available for download today:


And there are many more chapters still to come! We will be updating the download page every week or so with a new chapter until the book is complete [GD:Emphasis added] and we move into the final editing and publishing phase.


Creating Mobile Apps with Xamarin.Forms Book Preview 2


Charles Petzold is currently writing a new book - Creating Mobile Apps with Xamarin.Forms - which is due for publication in the spring of 2015.

We released the first preview in print at Xamarin Evolve 2014.

Preview 2 has been completely updated for Xamarin.Forms 1.3 and XAML support. Chapters will be available for download soon after they've been written and reviewed!



The samples for the second preview edition are available on github.

Preview 2 is a work-in-progress - it will not be published in other electronic formats. The final product will be published in book form and made available in the usual formats (as preview 1 was).



Come on, it's Charles Petzold's work! Need I really say more? (Oh okay, it's Free too! There!)


Related Past Post XRef:
Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Monday, February 02, 2015

After cooking for a few years, Inkscape v0.91 is now available!

Inkscape - Inkscape Version 0.91 is Released!

The Inkscape community proudly announces the release of Inkscape 0.91.

Inkscape is a drawing and painting tool similar to Illustrator, CorelDraw, and Xara X, but with features, new tools, and interface style of its own. It emphasizes the W3C standard Scalable Vector Graphics (SVG) file format, but reads and writes a wealth of other formats including PDF, so it is an easy complement to your other graphics and desktop tools. Best of all, Inkscape is created *by* the community *for* the community: Inkscape is 100% Open Source and freely available to everyone in the world.


This release marks the culmination of a multi-year effort to switch to a new internal graphics rendering engine, Cairo. This brings performance enhancements and more accurate rendering of drawings. Thanks go especially to Google for sponsoring much of this work.

A new Trace Pixel Art feature enables creation of vector art from bitmaps, sprites, and icons. A new Symbols Library provides reusable graphics elements - you can even read in Visio symbol libraries. New Snapping options and improved Snap preferences make it easier to quickly place items in the alignments you need. The tools for arranging objects offer several new ways to position the elements of a drawing. Tons of other little improvements have been made across all the other tools as well.

Several new file formats are supported, including FXG, SIF and HTML5 export; and VSD and CDR import. EMF/WMF are now readable and writable for all platforms. And XCF, PDF, EPS, and PS+LaTeX support are improved.

Inkscape has a rich Extension ecosystem, which is well known for bringing clever, cool, and innovative new ideas. Over a dozen new extensions are added in this release, including an Isometric Grid Generator, a Bitmap Cropper, a Text Extractor and a Text Merger, an HSL Adjuster, a Font Replacer, a Voronoï Diagram Creator, and more.

The above barely scratches the surface of all the new stuff included in this release. For the full story, including examples and screenshots, please see our detailed Release Notes:


Inkscape - About

What is Inkscape?

Inkscape is professional quality vector graphics software which runs on Windows, Mac OS X and Linux. It is used by design professionals and hobbyists worldwide, for creating a wide variety of graphics such as illustrations, icons, logos, diagrams, maps and web graphics. Inkscape uses the W3C open standard SVG (Scalable Vector Graphics) as its native format, and is free and open-source software.

Inkscape has sophisticated drawing tools with capabilities comparable to Adobe Illustrator, CorelDRAW and Xara Xtreme. It can import and export various file formats, including SVG, AI, EPS, PDF, PS and PNG. It has a comprehensive feature set, a simple interface, multi-lingual support and is designed to be extensible; users can customize Inkscape's functionality with add-ons.

The Inkscape project has a growing international user community, and many learning materials exist to help get you started with your creations. Help and support is provided by the community, and there are lots of ways for you to get involved if you want to help improve the Inkscape project.


If you are doing vector graphics then you probably already know and love Inkscape. If you don't, then this might be new to you (well not to YOU, but... um... your peers... yeah). In short, it is a MUST have drawing tool. Oh yeah, it's free AND open source too!

And for formats, don't forget that XAML in/out is supported too... :)


Related Past Post XRef:
Inkscape 0.46 Released

"Graphically Challenged?" Want to see how even you can create your own game character in Inkscape?
How to make dirt [clipart]
Open Clip Art Library
Looking for XAML Clip Art? Then make sure you look for SVG files as well...

Wednesday, December 10, 2014

Word to XAML, the next generation... "Xaml Generator" App for Office

Synergist - Xaml Generator – a New App for Office

A few years ago I build and shared the source code for a Word to Xaml Converter, a Word 2007 add-in that developers could use to convert Microsoft Office Word documents to Xaml for WPF and Silverlight applications.  Since it was originally published, the solution has been downloaded more than 3,000 times and I’ve received lots of feedback on it, progressively enhancing it to handle more Word features in the Xaml conversion.  I built the converter as a .NET library and a Word COM add-in, both built in C#. 

Apps for Office

Now with Office 2013 and Office 365, there is a new development model where developers can build “Apps for Office” using HTML, CSS, and JavaScript to build apps that can be added to Microsoft Office.  With this, Microsoft also launched an Apps for Office store where these apps can be listed and sold.  I was able to take what I built earlier as a Word add-in and move it to the cloud with Microsoft Azure Websites and listed it in the Apps for Office store.  This enables users of Office 2013 and Office 365 to now use the Xaml Generator in Microsoft Office Word wherever they are seeing it.

Xaml Generator

With this new App for Office, you select the text that you want to convert in Microsoft Word and then press the [Generate Xaml] button.  The generated text is then put in the task pane which you can then copy to Visual Studio to use in an app.  With this new release, I added Windows Xaml which can be used for Windows Universal Apps released for Windows 8.1 and Windows Phone 8.1.


To use the Xaml Generator in Word 2013


If you are creating complex XAML text runs, this looks like a tool you should really have in your tool belt. That said, the coolest thing is how this app shows off the new power behind the new Office app building API. No stinking DLL's or add-ins here and works in the native and web Office. Now that's cool... :)


Related Past Post XRef:
Word to XAML Converter Updated to support WPF 4,Silverlight 4 and Word 2010 (Think “File/Save As XAML…”)

Wednesday, November 12, 2014

Check it out there's a roadmap for WPF (and no, it's not to the cemetery ;)

.NET Framework Blog - The Roadmap for WPF

When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV’s, and Microsoft Partners have made the technology central to their business, building amazing vertical solutions and mission critical applications for their customers. This momentum carries forward to today – 10% of all newly created projects in Visual Studio 2013 over the past 60 days are WPF. WPF has amassed a passionate, vibrant, community that uses it to build data-centric desktop business applications on Windows. A recent example of this would be a new WPF application that was developed by our partners at InterKnowlogy. This application was recently used by CNN producers in the mid-term elections to upload, validate, and configure the data seen in the on-air election application. The election data is presented on CNN’s Magic Wall, which Microsoft’s Bing Pulse team helped to develop.

This post will address the roadmap for the WPF platform, including areas of investment we’re prioritizing and tooling improvements for upcoming releases of Visual Studio.

Areas of Platform Investment

Based on a survey we conducted at the //build conference earlier this year, UserVoice suggestions, and interviews with a large number of WPF developers across a variety of market segments over the past few months, we’ve prioritized the following areas for future investments to make WPF a better platform.

Performance: While WPF is actively being used to build large-scale, high performance applications like Visual Studio and Blend, further improving the performance of the platform based on customer feedback is a priority for us. Some key scenarios we are looking to optimize in this context are application startup, scrolling and virtualization performance of ItemsControls.

DirectX interoperability: The primary scenario of interest here is to make it seamless for WPF applications to interoperate with newer versions of DirectX.

Supporting modern hardware: Technologies like touch and high density displays are ubiquitous on modern devices. To support upgrading to newer hardware, it’s important that existing WPF applications can adapt to new hardware capabilities coming to desktop machines.

Tooling: We will continue to co-evolve the tools for WPF when appropriate, alongside new platforms like .NET/WINRT. This commitment is reflected in the tooling investments section of this post.

Investments in some of these areas might introduce dependencies on a particular OS version and/or have compatibility risks. For these cases, the features will light up based on the host OS and/or might require you to opt in to use the feature.

Current Progress on WPF

Let’s first address a common question regarding support: WPF is a quintessential part of the .NET Framework. The .NET Framework is defined as a component of the operating system, instead of an independent product. So, support for .NET Framework is driven by the support lifecycle policy of the Windows operating system. Extended support for the current recommended version of .NET (4.5.2) on Windows 8.1 is available till 2023. We will continue to fix security issues and bugs reported by customers that impact a large cross-section of our WPF customers.

... [Click through for the rest]



Okay maybe this isn't a ringing endorsement or announcement for a big bang release, but heck at least there IS a roadmap and we ARE getting fixes and features! I think this is the first WPF news, truly WPF news, that I've seen in a while and it's good to see... :)

Thursday, October 09, 2014

MVVM Light V5 for Windows, Xamarin and * (pretty much everywhere you'd want to .NET MVVM)

Laurent Bugnion (GalaSoft) - Announcing MVVM Light V5 for Windows and Xamarin

Here at the Xamarin Evolve conference in Atlanta, I just announced the immediate availability of MVVM Light V5. This version runs on the following platforms:

  • Windows Presentation Foundation (3.5, 4, 4.5, 4.5.1)
  • Silverlight (4 and 5)
  • Windows Phone (7.1, 8, 8.1 Silverlight, 8.1 RT)
  • Windows Store (8, 8.1)
  • Xamarin Android
  • Xamarin iOS
  • Xamarin Forms

What’s new?

There are three major changes in this version: Xamarin Support, NavigationService and DialogService, and Portable Class Library support.


Visual Studio Gallery - MVVM Light (VS2013)


The MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Windows 8, Silverlight, WPF, Windows Phone, Xamarin Android and Xamarin iOS. It is a light and pragmatic framework that contains only the essential components needed. It includes classes such as RelayCommand, Messenger, ViewModelBase and ObservableObject, SimpleIoc and more.

MVVM Light Toolkit (

Jump to: Intro / Documentation / Installation and Creation / Source and Codeplex / Support / Donate / Credits / Praises



The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone.

The MVVM Light Toolkit helps you to separate your View from your Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications and allows you to have a much thinner user interface layer (which is more difficult to test automatically).

This toolkit puts a special emphasis on the "blendability" of the created application (i.e. the ability to open and edit the user interface into Blend), including the creation of design-time data to enable the Blend users to "see something" when they work with data controls.


My current workday MVVM framework of choice is Caliburn.Micro, but I keep seeing more and more projects using MVVM Light, to the point where I think I'm going to have to check it out... That and it's hard to beat how portable it is. :)

Wednesday, October 08, 2014

The Xamarin.Forms excitement continues to build, getting broad third party support and more...

Like I said here, Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one), Xamrin.Forms is generating allot of excitement in the .NET/Xaml space and the excitement continues to build with the announcement of top tier third party support. Infragistics and Syncfusion both just announced support for Xamarin.Forms, among other top tier vendors, Enterprise Component Vendors Join Xamarin.Forms Ecosystem. Heck, even Microsoft is getting into the game!

Infragistics - Announcing Infragistics Xamarin.Forms!

I am very excited to announce a new partnership with Xamarin and our newest product release to compliment our Native Mobile story with Visual Studio – Infragistics Xamarin.Forms.


Over the last few years we have invested heavily in the native UI controls - we have an iOS control set, Android control set and Windows Phone control set.  Up until now, the target developer for these control sets were your objective-C, Java or Windows Developer.  Now with Infragistics Xamarin.Forms, the market is super-expanded - any Visual Studio, C#, XAML Developer can now write once, a single codebase, and then take our new Xamarin.Forms product with Xamarin’s product and ship native apps that target each major platform in no time..

There are a ton of reasons why this is so exciting, but from a pure cost perspective, using the technology from Infragistics & Xamarin, a company does not need to invest in the training and time loss of learning a new platform – using current C# & XAML skillsets native apps can be churned out in no time compared to building a native experience from scratch on each major mobile platform.  Add the long-term maintenance costs of bug fixes, feature changes, UI updates and more, and you are looking at a significant cost savings if you have a single code base to maintain while still having the benefit of native apps on each major platform.  Pretty cool!

So what exactly are we shipping today?


Syncfusion - Essential Studio for Xamarin has Arrived

As part of our participation in the Xamarin Evolve 2014 conference this week, Syncfusion is excited to reveal a new control suite for cross-platform mobile development: Essential Studio for Xamarin. We’ve incorporated some of your favorite data visualization and file-format components from Syncfusion with Xamarin.Forms, an API that enables developers to use a single C# codebase to build UIs for iOS, Android, and Windows Phone apps.


Native apps built with Essential Studio for Xamarin

Essential Studio for Xamarin is MVVM-compatible and includes a total of six Syncfusion controls. The Chart, TreeMap, and Gauge UI tools provide enterprise-grade processing and interactive visualization for your business data. File-format APIs XlsIO, DocIO, and PDF allow users to easily read, write, and edit Excel, Word, and PDF files on any device.

With Essential Studio for Xamarin, you can:


Multilingual App Toolkit's blog MAT v4.0 Technical Preview adds Xamarin support

The Multilingual App Toolkit v4.0 Technical Preview adds support for VS + Xamarin based iOS and Android projects.  We are super excited (just had to say it) about adding MAT’s localization workflow for developers using Visual Studio and Xamarin to create great cross-platform apps! You can download it here

I am fortunate enough to be in attendance at Xamarin Evolve 2014 this week. On Monday I attended a training session presented by Craig Dunn on Xamarin localization.  Craig did a great job covering localization in general, then focused on iOS and Android projects specifics as well as RESX with Xamarin Forms.  Craig’s demo code is available on GitHub.  So of course I wanted to see how the v4.0 technical preview would handle the code.  The demo is pre-populated with the target RESX files, so I simply removed them before using MAT v4.0 preview to add Japanese (JA) and Arabic (AR).  After generating translating using the default translation providers.  As you can tell from the images below everything worked as expected.



Given Xamarin Evolve 2014 still has a couple days to go (ends on the 10th), and given all the other announcements Xamarin have made, such as Xamarin Platform Previews, Introducing Xamarin Insights: Real-time Monitoring for Your Apps and New Xamarin Test Cloud Features I wonder what else we'll hear and see?


Related Past Post XRef:
Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Tuesday, October 07, 2014

Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Microsoft Press - Free ebook: Creating Mobile Apps with Xamarin.Forms, Preview Edition

Greetings! To help celebrate the Xamarin Evolve conference, we’re happy to release a free ebook today: Creating Mobile Apps with Xamarin.Forms, Preview Edition: Cross-platform C# programming for iOS, Android, and Windows Phone, by Charles Petzold. This ebook was created jointly by Xamarin and Microsoft Press.


You can download PDF and Mobi formats at the Microsoft Virtual Academy.

This Preview Edition ebook is about writing applications for Xamarin.Forms, the new mobile development platform for iOS, Android, and Windows Phone unveiled by Xamarin in May 2014. Xamarin.Forms lets you write shared user-interface code in C# and XAML (the eXtensible Application Markup Language) that maps to native controls on these three platforms.

This ebook is a Preview Edition because it's not complete. It has only six chapters. We anticipate that the final version of the book will have at least half a dozen additional chapters and that the chapters in this Preview Edition might be fleshed out, enhanced, or completely reconceived. The final edition of the book will probably be published in the spring of 2015.

Here’s an excerpt from the ebook’s Introduction, with greater detail:

Who should read this book

This ebook is for C# programmers who want to write applications for the three most popular mobile platforms: iOS, Android, and Windows Phone with a single code base. Xamarin.Forms also has applicability for those programmers who want eventually to use C# and the Xamarin.iOS and Xamarin.Android libraries to target the native application programming interfaces (APIs) of these platforms. Xamarin.Forms can be a big help in getting started with these platforms or in constructing a prototype or proof-of-concept application.

This ebook assumes that you know C# and have some familiarity with the use of the .NET Framework. However, when discussing some C# and .NET features that might be somewhat new to recent C# programmers, the ebook adopts a somewhat slower pace....

Xamarin.Forms is one of the more exciting things to happen in the C# and XAML space in a long time (to much to say it's revitalized XAML? Given it a new life? Defib'd XAML? Maybe.. [but maybe not]). Why? Read this free ebook and you'll see...

Wednesday, April 30, 2014

The XAML Illustrated Timeline

Jeremy Alles Blog - An history of 11 years of XAML stacks

Today I’m releasing something I’m a bit excited about… I call this the XAML timeline !

It’s an interactive history of 11 years of XAML development at Microsoft, from a .Net developer point of view (me!). Remember Avalon ? Longhorn ?

Feel free to click on the following picture to open the timeline in a new tab:


The web page has a few interesting things under the hood:

  • ...

This is an awesomely cool view of the XAML timeline...

Wednesday, March 12, 2014

"Windows Phone 8 Succinctly - The practical approach to Windows Phone 8 development" eBook (Reg-ware)

Syncfusion - Windows Phone 8 Succinctly


The Windows Phone 8 operating system is closely tied to the hardware of Windows Phones, enabling the development of high-performance apps that provide excellent user experiences. With Windows Phone 8 Development Succinctly by Matteo Pagani, you’ll go from creating a “Hello World” app to managing network data usage, enabling users to talk to your application through speech APIs, and earning money through in-app purchases. Dozens of additional features are covered in the book, including launchers, choosers, and geolocation services, so you’ll have a place to start no matter what you want your app to do.

Table of Contents

  1. Introduction
  2. The User Interface: Basic XAML Concepts
  3. Core Concepts
  4. Data Access: Storage
  5. Data Access: Network
  6. Integrating with the Hardware
  7. Integrating with the Operating System
  8. Multimedia Applications
  9. Live Apps: Tiles, Notifications, and Multitasking
  10. Distributing the Application: Localization, the Windows Phone Store, and In-App Purchases

Speaking of eBooks and Windows Phone 8 development...  :)

(via expression{} - Windows Phone 8 Development Succinctly)


Related Past Post XRef:
PDF's on PDF's... The complete Acrobat PDF Reference Library
Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)
TypeScript Succinctly - Free [Name/email-ware] eBook
Getting sharp with F# with the free "F# Succinctly" eBook [reg-ware]
Syncfusion helps shed a little succinct light on LightSwitch with "LightSwitch Succinctly" (Reg-ware)
"JavaScript Succinctly" - Another free (reg-ware) eBook from Syncfusion
Get into sync with HTTP with the new free (reg-ware) Syncfusion Succinctly eBook, "HTTP Succinctly"
Spelunk the technical details of the PDF format with "PDF Succinctly" from Syncfusion (Free/reg-ware PDF/Mobi ebook)
"Git Succinctly" Free/reg-ware PDF/Mobi ebook)
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

Friday, February 21, 2014

Need a little help cleaning up your code? CodeMaid will help with that developer dirty work... - CodeMaid extension for visual studio

Till now I’m a resharper fan boy and I still love using it. It is a great productivity tool. But it is not free for commercial use. So lots of my friends tell we want something open source or free which provide some kind of productivity over normal visual studio things and recently I came across CodeMaid extension of visual studio. It is a great plugin.

What is CodeMaid?

CodeMaid is an open source Visual Studio extension to cleanup, dig through and simplify our C#, C++, F#, VB, XAML, XML, ASP, HTML, CSS, LESS, JavaScript and TypeScript coding.


An open source visual studio extension to cleanup, dig through and simplify our C#, C++, F#, VB, XAML, XML, ASP, HTML, CSS, LESS, JavaScript and TypeScript coding


Code Digging
Visualize and navigate through the contents of your C# and C++ files from a tree view hierarchy. Quickly switch between different sorting methods to get a better overview. Drag and drop to reorganize the code. See McCabe complexity scores and informative tooltips.

Reorganize the layout of members in a C# file to follow Microsoft’s StyleCop convention, or your own preferences.

Recursively collapse nodes or the entire tree in the solution explorer window.

Enable, modify or disable many of the aspects of how CodeMaid does its work.

Format comments to wrap at a specified column and arrange XML major and minor tags on separate lines.

View the overall progress of a build within Visual Studio, or in the Windows taskbar, both with a green/red status indication.

Switch between related files, such as cpp and header files or xaml and code-behind.

Join two adjacent lines, or a highlighted section of code onto a single line.

Find the current file in the solution explorer window.

and More!
Toggle read-only state, close read-only files, etc.

Download (Visual Studio Gallery) Go Straight to the Source

I dig the number of languages supported (and that it's OSS :) This is SO likely to see a Coding4Fun blog post in the near future... :)

Wednesday, January 29, 2014

Searchable WPF MVVM happy Treeview

CodeProject - Searchable WPF TreeView

In this article I will demonstrate a WPF way of how to create a tree view to which filtering can be applied as a way of searching for a particular node or item in the tree. Using filtering to prune or limit a tree view is something I find very useful and it really bugs me when I can't for example use it to quickly find the option I want to change in the Visual Studio Options. I usually know roughly what I am looking for and it's often faster to type a portion of that than to visually inspect the entire tree, the Window 7 start-menu or the Windows 8 UI are fine examples of this approach being put to good use.

This is obviously not a new problem nor is the internet lacking in example implementations, this article is based on something I did for a friend and I got several requests for the source code after posting it on YouTube so here it is.

Because the subject matter is fairly limited, this will be a relatively short article.

Using the code

Two archives are provided, one for C# and one for VB.NET, so that each can read the sources in the language of their choice.

For the article, since there is so little code involved I've decided to have both the C# and VB.NET code present.


When my friend requested this to be implemented he gave me a short list of requirements that it needed to fulfill:

  • 1. It needs to be based on a System.Windows.Controls.TreeView.
  • 2. Tree view should, when not filtered, behave like a normal tree view.
  • 3. A text input field should accept input that prunes the tree view in real time (by real-time he meant there should be no need to hit Enter or something like that for the filtering to occur).
  • 4. The filter conditions should be remembered so that they could easily be re-used (personally, I think this is a bit superfluous as this type of control become really useful when the criterion one enters for the filtering are simple enough to be easily remembered).
  • 5. The text input field should not occupy too much screen real estate, whilst at the same time being obvious enough for a first time user to find and understand.

Further, the components of the implementation should lend themselves to MVVM approach as it's likely that the visual appearance would be changed by the UI designers.



I don't know about you, but WPF treeviews have been one of my WPF learning speed bumps. I'm starting to grok it now, but it's taken me a bit. And now I need a treeview that is not only searchable, but filterable too... Something just like this project! :)

And kudo's to the author for providing both C# and VB.

Tuesday, January 14, 2014

What are Perforator and Visual Profiler? Free, that's what... Welcome to the WPF Performance Suite

Visual Studio Magazine - .Net Tips and Tricks - Free Tool: WPF Performance Suite

I like Windows Presentation Foundation (WPF) very much, especially its implementation of the Model-View-Controller (MVC) design pattern. I've also grown to appreciate XAML as a declarative (if quirky) way of building complex user interfaces that integrate with a testable code file. However, every once in a while, I end up with a WPF Window that takes a long time to render, or renders in a bizarre series of jumps. If that's happened to you, it's worthwhile to download Microsoft's WPF Performance Suite.

The suite includes two tools: Perforator and Visual Profiler. Neither will tell you what to do to fix your problem, but both will help you locate the problem.

Perforator concentrates on the low-level routines that render your XAML. The download page for the package includes some useful information ...

While Perforator looks at how WPF is rendering your XAML, Visual Profiler shows how individual ...

WPF Performance Suite

The Windows SDK includes a suite of performance profiling tools for Windows Presentation Foundation (WPF) applications called the WPF Performance Suite. The WPF Performance Suite enables you to analyze the run-time behavior of your WPF applications and determine performance optimizations that you can apply. The WPF Performance Suite includes performance profiling tools called Perforator and Visual Profiler. This topic describes how to install and use the Perforator and Visual Profiler tools in the WPF Performance Suite.

This topic contains the following sections:




Perforator is a performance profiling tool for analyzing the rendering behavior of your WPF application. The Perforator user interface displays a set of graphs that enable you to analyze very specific rendering behavior in parts of your application, such as the dirty rectangle addition rate and the frame rate. WPF uses a rendering technique called dirty rectangle, which means that only the portions of the screen that have changed are rendered on a new rendering pass. In addition, Perforator has several options that you can use to look for specific rendering problems. Perforator also reports the software rendering targets and a slider to control the duration of the graphs. The following illustration shows the Perforator user interface.

Perforator user interface



Visual Profiler

Visual Profiler is a performance profiling tool of WPF services, such as layout, rendering, and animation, for elements in the visual tree. By analyzing the profiling output of this tool, you can determine which visual elements in your application may be causing performance bottlenecks.

Visual Profiler presents performance issues in the context of the basic building blocks that are used to construct visual scenes in your application. These building blocks include high-level objects, such as Button and TextBlock controls, as well as low-level objects, such as Line and Ellipse elements. Instead of describing performance issues in terms of call graphs of functions names, Visual Profiler describes these issues by using the representation of visual objects. This is similar to the way the Windows SDK tool, UI Spy, represents information. For more information, see UISpy.exe (UI Spy).


Some pretty cool utilities that I don't remember seeing before... I'm almost afraid (heck, no almost about it)  to run them on my WPF LOB app's... :/

Tuesday, January 07, 2014

MVA Live Event - Windows 8.1 Developer Training: Geek Edition [with lead Geeks Pete Brown, Jeff Burtoft], January 21, 2014 9am-5pm PST

Microsoft Virtual Academy - Windows 8.1 Developer Training: Geek Edition

HTML and XAML developers, are you ready to start having fun with Windows 8.1? Join Microsoft developer experts for a dive deep into the gadget and devices side of Windows 8.1, including USB, Bluetooth, point of sale, and even 3D printing. You’ll find out about some awesome new features in both HTML and XAML and look at some early versions of great toolkits. Build on your core skills and take advantage of everything Windows 8.1 has to offer.

Course Outline

  • Overview of Windows 8.1 Developer Platform
  • What’s New in XAML and HTML Apps
  • Bluetooth, USB, and 3D Printing
  • Speech, Camera, and Mic
  • Web App Template
  • Embedded Scenarios
  • XAML and HTML Performance


Hard to get geekier that these two guys... What's the price? Free! Location? Virtual! Great Content? Almost Guarantied!  :)

(via Ginktage - Windows 8.1 Developer Training: Geek Edition)

Thursday, October 24, 2013

Doughnuts! (Well, Infragistics XAML Doughnut Charts anyway)

Marina Stoyanova's Blog - How to build XAML Doughnut Chart

The Infragistics packages for WPF and Silverlight contain a lot of diverse charts for data visualization. The control that we are going to look at is The Doughnut Chart. This chart supports one or more rings surrounding a blank center. It can be customized by controlling the slices labels and colors or by configuring the inner radius. In this blog you can learn how to add this control to your application and how to create a custom hierarchical chart by using multiple rings.






This is an Infragistics graph type that I've been wanting to use for a while... I just dig how compact the information density can be, without being overwhelming or ugly. That, and I just like doughnuts. :P

Doughnuts! (Well, Infragistics XAML Doughnut Charts anyway)

Marina Stoyanova's Blog - How to build XAML Doughnut Chart

The Infragistics packages for WPF and Silverlight contain a lot of diverse charts for data visualization. The control that we are going to look at is The Doughnut Chart. This chart supports one or more rings surrounding a blank center. It can be customized by controlling the slices labels and colors or by configuring the inner radius. In this blog you can learn how to add this control to your application and how to create a custom hierarchical chart by using multiple rings.






This is an Infragistics graph type that I've been wanting to use for a while... I just dig how compact the information density can be, without being overwhelming or ugly. That, and I just like doughnuts. :P

Monday, October 21, 2013

bing up your app with the new Bing Speech Recognition Control and Updated Bing OCR, Translator Controls

Windows Azure Marketplace DataMarket Blog - New Bing Speech Recognition Control and Updated Bing OCR and Translator Controls on Windows Azure Marketplace

At the BUILD conference in June, we announced three broad categories of capabilities the new Bing platform would deliver to developers: Services to bring entities and the world’s knowledge to your applications, services to enable your applications to deliver more natural and intuitive user experiences, and services which bring an awareness of the physical world into your applications. Earlier this month we updated the Bing Maps SDKs for Windows Store Apps for Windows 8 and 8.1. Building on this momentum, today we are announcing the release of the new Bing Speech Recognition Control for Windows 8 and 8.1, and updates to the Bing Optical Character Recognition Control for Windows 8.1 and Bing Translator Control for Windows 8.1 to continue to deliver on our effort to support developers to enable more knowledgeable, natural, and aware applications.

Read on for more details on the updates we’re announcing today, and then check out the Bing developer center for other useful resources, including code samples, for building smarter, more useful applications.

Hands free experiences – Speech Recognition for Windows 8.0 and 8.1

Whether for accessibility, safety, or simple convenience, being able to use your voice to interact hands-free with your device is increasingly important. By enabling devices to recognize speech, users can interact more naturally with their devices to dictate emails, search for the latest news, navigate their apps, and more. If you are a Windows Phone developer, you may already be familiar with the speech recognition inside Windows Phone: the user taps a microphone icon, speaks into the mic, and the text shows up on screen. Now, that same functionality is available on Windows 8, Windows 8.1, and Windows RT through the free Bing Speech Recognition Control.

In as little as ten lines of C# + XAML or JavaScript + HTML, you can put a SpeechRecognizerUX control in your application, along with a microphone button and a TextBlock, and the code to support them. When the user clicks or taps the mic, they will hear a blip, or "earcon", to signal that it's time to speak, and an audio meter will show their current volume level. While speaking, the words detected will be shown in the control. When they stop speaking, or hit the Stop button on the speech control, they will get a brief animation and then their words will appear in the TextBlock.




bing Dev Center - Speech

Getting started

Voice Commands

Lets users open and navigate your app with their voices.

    Speech Recognition

    Transcribes user speech into text.

      Speech Synthesis

      Also known as Text to Speech, speaks to users in a natural sounding voice.

        Download the Speech Recognition Control for Windows 8 and Windows 8.1.
        Download the Windows 8.1 SDK to get Speech Synthesis for Windows 8.1.
        Download the Windows Phone 8 SDK to get all three capabilities for Windows Phone 8.


        bing Dev Center - Optical Character Recognition Control

        Getting started

        Integrate Microsoft’s robust cloud-based optical character recognition capabilities into your Windows 8.1 store apps in XAML and C# with the Bing Optical Character Recognition (OCR) control. The control detects printed text from an image captured by an app through the device camera.

          To get started:


          bing Dev Center - Translator Control

          Getting started

          Get easy access to robust, cloud-based, automatic translation between more than 40 languages with the Bing Translator Control and the Microsoft Translator API.

            To get started:


            I saw this a Build and loved the idea of being able to leverage the power of bing and the machine intelligence and learning behind it. Cloud power baby! (Of course you need to be connected to make it work, but who isn't connected these days?)

            Friday, October 11, 2013

            Revisiting Sando - Full Text Index and Source your Source, while never leaving Visual Studio...

            Visual Studio Gallery - Sando Code Search Tool

            Search your C, C++, C#, and XAML code instantly. Form a better query with identifier-based and phrase-based auto-complete. Explore project terms with the word cloud.

            image image


            • Searches source code (C#, C++, C, and xaml) using information retrieval technology
            • Pre-indexes source code to provide near-instant searches
            • Indexes source code once, refreshing only changed files, to avoid unnecessary CPU burden
            • Supports literal searches (e.g., "File f = new File();"), symbol searches (e.g., "_fileDialogTab"), and google-style searches (e.g., "open file")
            • Provides extensive preview of search results with highlighted search terms
            • Highlights search terms in code editor
            • Auto-completion suggests likely query additions (e.g., "open" -> "open file")
            • Auto-corrects spelling (e.g., "solutoin" -> "solution")
            • Auto-recommendation suggests similar words if search term doesn't exist in the source code base (e.g., "fire event" -> "raise event")
            • Provides word cloud of existing terms in source code to help users form a query

            Supported Languages: C#, C++, C, xaml

            [demo] [source]

            Sando: A Fast Local Code Search Engine with Open APIs

            Sando: A Fast Local Code Search Engine with Open APIs
            Code search sucks. There's no auto-correct or suggestions and results are returned as an unranked, plain-text list. This VS Extension aims to make code search a modern tool by leveraging Lucene to index and search all languages and artifacts, returning results in a rich UI.


            (via CodeProject - Research-Inspired Extensions Hit Visual Studio App Store)

            Blogged about this last year, Code Searching with Sando, because "Code search sucks and Find & Replace is from the 80s...", but of course I forgot all about it right after (those darn curator's!). Seeing it today and seeing that the project is alive and well with very recent check-ins (yesterday), I thought it a good time to remind myself (and you) about this project...


            Related Past Post XRef:
            Code Searching with Sando, because "Code search sucks and Find & Replace is from the 80s..."

            Thursday, October 03, 2013

            XAML Spy v2 Beta Visual Studio now available... (think "Spy++ for XAML as a VS Extension")

            XAML Spy - XAML Spy for Visual Studio [beta]

            First Floor Software is proud to announce the immediate availability of the first beta release of XAML Spy for Visual Studio. XAML Spy for Visual Studio enables spying on Silverlight, Windows Phone, Windows Store and WPF apps right in Visual Studio.

            XAML Spy for Visual Studio is a VS2012 and 2013 extension for XAML projects. The extension is part of XAML Spy 2. You are only three steps away from happiness:

            1. Download and install XAML Spy 2 (beta). Start Visual Studio and load your XAML project.
            2. Right-mouse click your XAML project, select Enable XAML Spy, compile and run your app in DEBUG mode.
            3. Switch back to Visual Studio, open the XAML Spy Explorer (View > Other Windows > XAML Spy Explorer) and start inspecting your app.

            Tip: hit Alt-Enter to open the Visual Studio property grid for details on the selected object in the XAML Spy Explorer.


            XAML Spy for Visual Studio adds a XAML Spy Explorer tool window to Visual Studio 2012 and 2013. The XAML Spy Explorer provides a real-time view of your running XAML app, with access to the app's package, isolated storage, user interface, and more.



            XAML Spy 2

            XAML Spy for Visual Studio is part of the next major release of XAML Spy (version 2). At this point in time, version 2 only consists of the Visual Studio extension. The standalone XAML Spy app (with its Modern UI interface) will be added in a future update. This beta release replaces any XAML Spy version 1 you may have installed. If your environment doesn't meet the requirements for XAML Spy for Visual Studio, or if you require features not available yet in this beta release, do not install this beta release. Learn more about the requirements and features in the next paragraphs.

            XAML Spy for Visual Studio requires at least the Professional Edition of Visual Studio 2012 or 2013. The Express editions of Visual Studio are not supported.



            Feel free to install and use this public beta to spy on your XAML apps. The release is fully functional, and does not require a license. This version will cease to function on October 15, 2013. Your feedback is highly appreciated, be sure to send us your comments and questions. XAML Spy 2 is available in the download section.

            While the beta is only free for a couple days yet, that still a few days where you can play with it and check it out...

            Friday, September 27, 2013

            Oh Behave... Behaviors SDK and the new BlendBehaviors.NET

            Timmy Kokke - Behaviors SDK

            When the release candidate of Visual Studio 2013 came available, so did the Behaviors SDK. The Behaviors SDK is somewhat similar to the Expression Blend SDK you might have used before when using Behaviors and Actions. Along with the SDK come a couple of actions and behaviors you can use in your Windows Store applications right away.

            What are they?

            Both behaviors and actions are small pieces of code that can be reused throughout your projects. In the case of the new Behaviors SDK the only thing you need to do is implement an interface. A behavior adds some behavior to an element in your application. A behavior has a method that is invoked when the behavior is attached to a Dependency Object. It also has a method that is invoked when it is detached. An action contains only one method that is invoked when a certain condition is met. This condition can be a event that is raised, or a state of data or well pretty much everything.

            Those of you who are used to working with behaviors and actions on other platforms might miss the triggers. Triggers where used to work together with actions, and presented the reason for an action to be executed. In the new Behaviors SDK triggers are no longer there. They are replaced by behaviors.

            What’s in the SDK?

            The Behaviors SDK consists of two parts. One (Microsoft.Xaml.Interactivity) contains the tools you need to create your own behaviors and actions(more about this is a sec). The other (Microsoft.Xaml.Interactions) contains a few of the most commonly used behaviors and actions(which are build with the interfaces from the first part b.t.w.). Not everything you might be used to working with from other platforms is included in de SDK, but I’m pretty sure these will be available through open source channels.

            Let’s just go over the actions and behaviors included in de SDK.


            • CallMethodAction : An action that calls a method on a specified object when invoked.
            • ChangePropertyAction : An action that will change a specified property to a specified value when invoked.
            • GoToStateAction : An action that will transition a FrameworkElement to a specified VisualState when executed.
            • InvokeCommandAction : Executes a specified ICommand when invoked.
            • NavigateToPageAction : An action that switches the current visual to the specified Page.
            • ControlStoryboardAction : An action that will change the state of the specified Storyboard when executed.
            • PlaySoundAction : An action that will play a sound to completion.


            • DataTriggerBehavior : A behavior that performs actions when the bound data meets a specified condition.
            • EventTriggerBehavior : A behavior that listens for a specified event on its source and executes its actions when that event is fired.
            • IncrementalUpdateBehavior : A behavior that allows incremental updating of ListView and GridView contents to support faster updating. By attaching this behavior to elements in the ItemTemplate used by these views, some of the updates can be deferred until there is render time available, resulting in a smoother experience.

            The other part contains two interfaces you need when building your own: IAction and IBehavior. There are some attributes and helper classes you can use too.



            Welcome to BlendBehaviors.NET. As a XAML developer I use behaviors a lot. Like most developers, I don't like writing the same code over and over. Let us all share our behaviors and actions so we have to write even less.


            Something I need to look more into, especially in my WPF world...

            Monday, September 09, 2013

            Get Blue! (No, not that Blue...) Get the free Office 2010 inspired Blue theme, free from Infragistics

            Brian Lagunas - FREE Office 2010 Blue Theme for WPF and Silverlight Microsoft Controls

            Shhhhh…. Do you hear that?????  That’s the sound of another great FREE theme!

            Today’s theme is the highly requested Office 2010 Blue theme.  The Office 2010 Blue theme takes it’s visual cues from the Microsoft Office 2010 product suite.  This is probably the most popular theme among Windows developers.  Why?  Well ,let’s face it!  Most clients want all their apps to look like Outlook and Excel.  Don’t ask me why, they just do.  Maybe they just feel more comfortable with apps that have that Office feel to them.  Because of that, most LOB developers have to provide an “Office” type theme to make their end-users feel all warm and fuzzy inside.  Well, now you can!  I am giving you this awesome Office 2010 Blue theme for Free!

            Now remember, there is a catch to this free theme.  I will NOT support every single Microsoft control.  Why?  Well, because I would prefer for you to use Infragistics controls instead.  For example, I will not be providing a style for the Microsoft DataGrid because Infragistics has a much better xamDataGrid control.  You get the idea.


            First up is the Silverlight version of the Infragistics’ “Office 2010 Blue Theme”. ...



            Next up is the WPF version of the Infragistics’ “Office 2010 Blue Theme”.  Just like the Silverlight version, we are providing you with styles for the primitive WPF controls that appear in the Visual Studio toolbox, as well as some controls in the WPF Toolkit.  Just like for the Silverlight version, we organized the themes by their respective source so that if you don’t use the WPF toolkit, there will be no need for your code to take a dependency on it....


            Here is the full list of support controls:

            • Accordion
            • AutoCompleteBox
            • Button
            • CheckBox
            • ComboBox
            • Expander
            • GridSplitter
            • GroupBox
            • Label
            • ListBox
            • PasswordBox
            • ProgressBar
            • RadioButton
            • Rating
            • RepeatButton
            • Slider
            • TextBox
            • ToggleButton
            • Tooltip


            Blue is coming back, as seems to be a theme that people like, so having a free version that supports many WPF controls, is nice...


            Related Past Post XRef:
            WPF/SilverLight IG Theme is now free from Infragistics
            Brian (and Infragistics) is having a theme give-away... As in giving away some of their WPF and Silverlight themes