Showing posts with label WPF. Show all posts
Showing posts with label WPF. Show all posts

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]

image

..."

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)

image

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 (http://www.mvvmlight.net/)

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

...

Introduction

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, June 11, 2014

Released.Free.Framework.MVVM.DevExpress

DevExpress - Free DevExpress MVVM Framework released

Previously, I mentioned our plans to offer a free version of the MVVM Framework. I am happy to announce the free DevExpress MVVM Framework is now available on NuGet and GitHub.

image

The free DevExpress MVVM Framework includes all the capabilities of the MVVM libraries installed with our components, except for those features specific to component integration. If you are using an up-to-date component installation, you already have full access to the MVVM Framework. Now, anyone can build an app with the DevExpress MVVM Framework or introduce our MVVM to an existing project – even when that project makes use of another framework.

The major benefits of the DevExpress MVVM Framework are the independent parts in the framework, used separately or with other third-party MVVM libraries.

  • With POCO, get clear ViewModel code without unnecessary duplications. The POCO mechanism automatically generates bindable properties, commands, asynchronous commands, wrapper code for services, and much more.
  • EventToCommand support now includes converting event arguments, calling bound commands via Dispatcher, and processing attached events.
  • Finer visual customizations are available from the ViewModel using a set of predefined Services or custom Service.
  • Messenger takes the difficulty out of building loosely coupled app architectures.
  • Modify the behavior of any visual component. Simply create a Behavior and assign it with an Interaction.
  • Choose from a new set of converters useful for everyday scenarios.

Easily find the free MVVM Framework on NuGet by searching “dx mvvm”. The free DevExpress MVVM Framework is distributed under the MIT License. Source code, testing libraries, and samples are available on GitHub. [GD: Post Leached In Full]

DevExpress/DevExpress.Mvvm.Free

imageimage

DevExpress MVVM Framework is a set of components helping to work in the Model-View-ViewModel pattern in Silverlight and WPF.

Documentation

There are two versions of the DevExpress MVVM Framework:

1. The version that is included to the DevExpress WPF/Silverlight component suite.

2. The free version that is very similar to the first one. The only difference is that it does not contain some capabilities that are only needed when the framework is used with DevExpress components.

Although DevExpress provides documentation for the first version only, you can use this documentation even if you use the free version. The documentation is available by the following link: https://documentation.devexpress.dev/#WPF/CustomDocument15112

At the DevExpress site, you can find several training blog posts: https://community.devexpress.com/blogs/wpf/archive/2013/08/29/getting-started-with-devexpress-mvvm-framework-commands-and-view-models.aspx

NuGet

The Free DevExpress MVVM Framework is available from NugGet: https://www.nuget.org/packages/DevExpressMvvm/

While I'm not sure we really need another MVVM framework, I do applaud DevExpress in releasing this and releasing it as open source. That and I'm glad to see a little WPF love. :)

Wednesday, April 30, 2014

Prism 5.0 for WPF eBook (epub, mobi, pdf)

Microsoft Downloads - Prism 5.0 for WPF - Book Download

Version:5

Date Published: 4/29/2014

Prism5forWPF.epub

Prism5forWPF.mobi

Prism5forWPF.pdf

Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. Such applications are often referred to as composite applications.

imageimage

This lets you take the online doc's offline and read them in your reader of choice...

 

Related Past Post XRef:
Prism continues its Windows Desktop/WPF/MVVM Love with v5

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:

image

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

  • ...

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

Monday, April 21, 2014

Prism continues its Windows Desktop/WPF/MVVM Love with v5

Francis K. Cheung - Prism 5.0 for WPF just shipped.

Prism version 5.0 for WPF is now available. This version of Prism includes updates to existing and several new NuGet packages:

  1. Prism
  2. Prism.Composition (New)
  3. Prism.Interactivity (New)
  4. Prism.Mvvm (New)
  5. Prism.MefExtensions
  6. Prism.UnityExtensions

We’ve updated Prism 4.1 with bug fixes and a few new features. ...

Developer's Guide to Microsoft Prism Library 5.0 for WPF

April 2014

Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. In short, these applications are "built to last" and "built for change." These types of applications are known as composite applications.

This topic provides a brief overview of the Prism concepts with links to associated source code and documentation. If you are considering upgrading from Prism 4.1 to Prism 5.0 we include a "What’s New" and "Upgrading from Prism 4.1" topic that you should read.

...

...

image

What's New in Prism Library 5.0 for WPF

Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF, new and updated QuickStarts, and updated documentation. Parts of the Prism Library changed between Prism 4.1 and Prism 5.0 to support the new guidance, fix existing issues, and respond to community requests.

...

New Guidance

Prism 5.0 contains several areas of new guidance as follows:

  • Prism.Mvvm is a portable class library that encapsulates Prism’s MVVM support. This library includes ViewModelLocationProvider. Views and view models can be wired up together using the new ViewModelLocationProvider’s convention-based approach as explained in Implementing the MVVM Pattern. View model construction can be accomplished using a dependency injection container. The ViewModel Locator’s extensibility points are discussed in Extending the Prism Library. DelegateCommands are now extendable and provide Async support. A new implementation of the INotifyPropertyChanged interface, the BindabaleBase class, was added.
  • The PopupWindowAction class was added to the Prism.Interactivity assembly to open a custom window in response to an interaction request being raised.
    The InvokeCommandAction action provided by Prism now passes trigger parameters to the associated command.
    For more information see Advanced MVVM Scenarios.
  • The EventAggregator classes have been moved to the Prism.PubSubEvents portable class library.
  • The NavigationParameters class can now be used to pass object parameters during navigation, using the overloads of the RequestNavigate method of a Region or RegionManager instance.

Changes in the Prism Library

Prism Library 5.0 includes changes related to new functionality, code organization, and APIs.

Code Organization

...

API Changes

...

Additions to the Prism Library Core API

The following namespaces were added to the Prism Library to support the new areas of guidance added in Prism 5.0:

  • Microsoft.Practices.Prism.PubSubEvents was added to help you send loosely coupled message using a portable class library.
  • Microsoft.Practices.Prism.Mvvm was added to assist you in implementing MVVM using a portable class library and several platform specific libraries.
  • Microsoft.Practices.Prism.SharedInterfaces has been added to share the IActiveAware interface between Prism and Prism.Mvvm assemblies, therefore the IActiveAware interface has been moved to this assembly. It is also intended for future use.

CodePlex Issues Resolved

  • ...

Example Code Changes

Prism 5.0 contains eleven separate code samples that demonstrate portions of the provided guidance. Several samples from Prism 4.1 were removed or replaced, and new samples added.

The following samples were added for Prism 5.0:

  • Basic MVVM QuickStart. This QuickStart shows a very simple MVVM application that uses the ViewModel Locator and show a parent and child ViewModels. For more information, see the MVVM QuickStart.
  • MVVM QuickStart. This QuickStart was removed for this version.
  • MVVM Reference Implementation. This reference implementation was removed for this version.
  • View-Switching Navigation QuickStart. This QuickStart now supports WPF. It demonstrates how to use the Prism region navigation API. For more information, see View-Switching Navigation QuickStart.
  • State-Based Navigation QuickStart. This QuickStart now supports WPF. It shows an approach that uses the Visual State Manager to define the views (states) and the allowed transitions. For more information, see State-Based Navigation QuickStart.
  • UI Composition QuickStart. This QuickStart now supports WPF. It replaced the View Injection QuickStart and the View Discovery QuickStart from Prism 2.0. In the current versions, both concepts are shown in one example application. For more information, see UI Composition QuickStart.
  • Interactivity QuickStart. This new QuickStart demonstrates how to exposes an interaction request to the view through the view model. The interactions can be a popup, confirmation, custom popup, and a more complex case where the popup needs a custom view model. It also shows Prism’s InvokeCommandAction action that passes the EventArgs from the trigger, as a command parameter. For more infromation, see Interactivity QuickStart.

NuGet Packages Now Available

In your application, you can now use NuGet to add references to the Prism assemblies. These packages include:

..."

Microsoft Downloads - Prism 5.0 for WPF – April 2014

Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications.

...

MSDN Code Gallery - Getting Started Code Sample Using the Prism Library 5.0 for WPF

In this lab and associated sample, you will learn the basic concepts of modular application development using the Prism Library, and apply them to create a solution that you can use as the starting point for building a composite Windows Presentation Foundation (WPF) application. After completing this lab, you will be able to do the following:

  • You will create a new solution based on the Prism Library.
  • You will create and load a module.
  • You will create a view and show it in the shell window. 

This lab includes the following tasks:

...

MSDN Code Gallery - MVVM Code Sample using the Prism Library 5.0 for WPF

The Model-View-ViewModel (MVVM) QuickStart provides sample code that demonstrates how to separate the state and logic that support a view into a separate class named ViewModel using the Prism Library. The view model sits on top of the application data model to provide the state or data needed to support the view, insulating the view from needing to know about the full complexity of the application. The view model also encapsulates the interaction logic for the view that does not directly depend on the view elements themselves. This QuickStart provides a tutorial on implementing the MVVM pattern.

A common approach to designing the views and view models in an MVVM application is the first sketch out or storyboard for what a view looks like on the screen. Then you analyze that screen to identify what properties the view model needs to expose to support the view, without worrying about how that data will get into the view model. After you define what the view model needs to expose to the view and implement that, you can then dive into how to get the data into the view model. Often, this involves the view model calling to a service to retrieve the data, and sometimes data can be pushed into a view model from some other code such as an application controller.

This QuickStart leads you through the following steps:

  • Analyzing the view to decide what state is needed from a view model to support it
  • Defining the view model class with the minimum implementation to support the view
  • Defining the bindings in the view that point to view model properties
  • Attaching the view to the view model

..."

Finally:

That should be enough Prism for WPF to get you started at least...

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.

Requirements

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.

...

image

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.

Friday, January 17, 2014

WAMS WPF QS (Window Azure Mobile Services Windows Presentation Foundation Quick Start]

Microsoft Developer Network - Samples - Azure Mobile Services Quickstart for WPF

One of the great features in my opinion of Azure Mobile Services is the “quickstart” app – a ready-to-use, fully-functional application which you can get from the portal in many of the supported platforms, and start running right away. I find it to be a great way to learn about the service and the client SDK for the selected platform.

In the portal one can download a QuickStart app for the most used platforms. But every once in a while someone asks about another platform which is not in the list. Since not all platforms will make its way to the portal (unless there is strong demand for that), I’ll try to answer that question, specifically about WPF, with this post.

Creating the QuickStart app for WPF isn’t too hard – after all, the NuGet package with the client SDK for Azure Mobile Services actually supports WPF apps as well (as long as they target the .NET Framework 4.5). It has most of the functionality as the more prominent platforms, with the notable exception of the lack of the UI-based login feature (which can be implemented as an extension, as I’ve shown in another post). So, without further ado, here are the steps I took to create the app.

If you just want to get the app, download from this sample and replace in the file App.xaml.cs the URL and key for your mobile service.

Create a new WPF project

...

At this point (after replacing the service name and key with the actual values) you should be able to build and run the app.

That's it. Those are the steps to convert the Windows Store QuickStart into a WPF one. But if you just want the code, feel free to download it from this sample.

image..."

It's easier for me, and most people I'm sure, to learn if I can focus on one area at a time. WAMS demo's are usually also mixed in with other tech, all that's pretty new for me. This quick start lets me focus on that one thing, learning WAMS, without distracting me with mobile or WinStore dev. Nice...

Make sure you check out the original blog about for this, Carlos Figueira MSDN blog - Azure Mobile Services QuickStart for WPF

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:

image

...

Perforator

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

image

...

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).

image

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... :/

Wednesday, December 18, 2013

Does using the Windows 8.x touch/onscreen keyboard in your WPF desktop sound cool to you?

Brian Lagunas - Showing the Windows 8 Touch keyboard in WPF

With the release of Windows 8, the era of touch devices is in full swing.  Manufacturers are scrambling to create mobile devices that can run Microsoft Windows with the touch of a finger, without the need for a keyboard and mouse.  Even Microsoft has released their very own Surface brand to satisfy this need to run Windows in a mobile world.  This is all fine and dandy if you are building Windows Store applications that run on any version of Windows 8, and are built with touch as a first class citizen.  Windows Store apps integrate perfectly with the device, such as automatically showing the Windows 8 touch keyboard when giving focus to an input element in the application.  Windows Store apps are smart enough to know when I am not using a mouse and keyboard, and I give focus to a TextBox by touching it, it will show the touch keyboard to allow me to input data.  On the other hand, if I am using a mouse and keyboard, and I give focus to the TextBox by clicking it with the mouse, the touch keyboard does not show, but rather I use the keyboard to enter my data.  This is a nice feature built into the platform.

...

image

...

This is a pretty cool way to leverage what you've got. If you're already running on Windows 8.x, you might as well use as much of it as you can, right? Brian's post does just that...

Tuesday, November 26, 2013

Creating Per-Monitor DPI-Aware Applications Code Sample

Microsoft Developer Network - Samples - Per-Monitor Aware WPF Sample

image

This sample demonstrates updating a Windows Presentation Foundation (WPF) application to be per-monitor DPI-aware.

The sample consists of two projects:

  • NativeHelpers.vcxproj The native helper project that implements the core functionality to make a WPF application per-monitor DPI-aware
  • WPFApplication.csproj A sample WPF application that inherits from the PerMonitorDPIWindow base class and showcases how the application window resizes when the user moves the window to another monitor with a different DPI or when the user changes the DPI by adjusting the Display slider in Control Panel.

...

In the coming year we're going to start seeing more and more of this, where our uses not only have multiple monitors but have them set at different DPI settings. This code sample will help you handle that gracefully in your LOB/WPF applications.

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.

image

...

image

image

..."

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.

image

...

image

image

..."

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

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.

Introduction

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.

image

...

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.

...

Beta

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...

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.

Silverlight

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

image

WPF

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

image

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

Friday, August 09, 2013

WPF/SilverLight IG Theme is now free from Infragistics

Brian Lagunas - FREE IG Theme for WPF and Silverlight Microsoft Controls

It’s that time again!  Time for another free WPF and Silverlight theme for the Microsoft controls.  The last free theme I gave away was the Metro Light and Dark Themes for WPF and Silverlight Microsoft controls.  Soon after I released that theme, there was an overwhelming positive response from the community.  So, I am fulfilling the promise I made in my last post.  I am releasing another free theme.

Today’s free theme is the standard Infragistics Theme, also referred to as the IG Theme.

Silverlight

First up is the Silverlight version of the Infragistics’ “IG Theme”.  We are providing a style for each primitive control that appears in the Visual Studio toolbox, the controls that ship with the Silverlight SDK, and of course some controls from the Silverlight Toolkit.  As you can see, we organized the themes by their respective source so that you have the option to use which ever control you need and not add any unnecessary dependencies on other assemblies.  Here is the list of resource dictionaries you are getting.

...

WPF

Next up is the WPF version of the Infragistics’ “IG 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

image

Kudo's again to Infragistics and Brian for releasing this theme for free...

 

Related Past Post XRef:
Brian (and Infragistics) is having a theme give-away... As in giving away some of their WPF and Silverlight themes

Wednesday, August 07, 2013

Brian brings some Unity to using Prism and dynamically discovering and loading Modules at runtime

brian lagunas - Prism: Dynamically Discover and Load Modules at Runtime

If you develop WPF applications with Prism, then you are probably already aware of the many ways in which you can load a module.  Loading a module starts with what is called a ModuleCatalog.  You can’t load a module unless it has been added to a ModuleCatalog.  Once the module has been added to a ModuleCatalog, Prism will then take care of loading the module assembly for you.  Prism even comes with a handful of module catalogs to give you flexibility in how you register your modules with your Prism application.  You can populate a module catalog from code, from XAML, with XML in an app.config, or from a directory.  Heck, you can even use a combination of all these options to populate your module catalog.

When I am giving a Prism talk at a public event or an internal lunch and learn at a company, I am sure to explain all the different ways of loading your modules and which catalog to use.  This is about the time where the questions really start getting interesting.  Of these questions, the most common is about the DirectoryModuleCatalog.  This particular catalog allows you to specify a folder path to load your modules from.  Now the interesting question… “but, what happens when a new module assembly is dropped into the folder?  Will it automatically be loaded into the app while it is running?”  That is a great question, and the answer is NO.  The DirectoryModuleCatalog does a one time scan of the directory and then loads all the modules that it finds.  If you drop a new module assembly into the directory, it will not be loaded until the application is restarted.  Now the follow-up question… “well, is it possible to dynamically discover the modules and load them from the directory as well?”  Answer; well of course it is.  If you’re using MEF, it’s easy.  If you’re using a container such as Unity, you will need to write the code to handle it yourself.  “Well, we don’t use MEF, so can you show us how?”  This is where my reply is always the same, “a simple web search (Google or Bing) should help you find what you are looking for”.

Well, it turns out, that’s not the case.  It seems that no one has blogged about or shared any code that handles the dynamic discovery and loading of modules using a DI container such as Unity.  Not that I could find, nor anyone who is asking me to show them could find.  Which leads me to this post.  I am going to show you an approach that I have used to support such a scenario.  I am actually going to give you two approaches.  One is the “Quick and Dirty” way.  Basically, I will throw together the simplest sample to achieve the goal.  Then I will show you “A Better Way” in which we will encapsulate this functionality into a custom ModuleCatalog that will handle everything for us.

...

My name is Greg and I pretend to write LOB Prism apps...

Well I am in the middle of using Prism & Unity to build a LOB app I and I ran into exactly what Brian is blogging about. I wanted to do a runtime discovery of modules and just couldn't figure out how to do it quickly enough, so gave up and just did it the hard way. Now that Brian has shown the way, I'm going to have to revisit that... :)

Friday, August 02, 2013

FEZ Game-O Emulator - Community Edition

Project Update #3: FEZ Game-O Emulator - Community Edition

We are proud to announce the release of FEZ Game-O Emulator - Community Edition.  Please feel to download the latest version at https://www.ghielectronics.com/community/codeshare/entry/776.  Community members have already been using the emulator to create and share gaming examples! Visit the FEZ Game-O code base at https://www.ghielectronics.com/community/codeshare and search for "Game-O".

The FEZ Game-O Team

* Note - The emulator does not support sound or the features of the accelerometer.

GHI Electronics - Game-O Emulator Community Edition

This is a community edition of the emulator for Fez Game-O console. It is WPF based application. To exit the emulator press "Power" button. To change the color of the emulator press one of the colored button at the bottom of the screen.

Enjoy!

Initial submit: Source code only. The installation project is in progress and will be added later.

image

image

...

I think I just found my weekend project... :)

 

Related Past Post XRef:
Full O'Fun with the "FEZ Game-O", an open-source .Net Micro Framework console

Monday, June 24, 2013

Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)

Syncfusion - WPF Succinctly

WPF Succinctly is for software developers with an understanding of the .NET Framework who have yet to dive into WPF. Author Buddy James approaches the platform at its simplest point—single-window applications that contain a single control—and gradually adds more complex controls and back-end features. By the end of the book, you'll be able to manage data flow between application elements, use WPF commands to maximize your application's functionality while adding minimal code, and confidently redesign controls to give your application a unique look and feel that other applications can't compete with.

Table of Contents

  1. WPF Origins
  2. Inside WPF
  3. WPF Controls Overview
  4. WPF Applications
  5. WPF and MVVM
  6. WPF Commands
  7. Advanced WPF Concepts
  8. WPF Control Styles and Templates
  9. WPF Tools and Frameworks

Most of you won't need this, but maybe you have a "friend" who does... :P

 

Here's some snaps of the PDF:

imageimage

 

Related Past Post XRef:
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, June 14, 2013

WPF TextBlock vs Label, what's the diff?

2,000 Things You Should Know About WPF - #842 – The Differences Between Label and TextBlock

You can use either Label or TextBlock elements to display text in an application.

image
The two elements appear to behave similarly, but there are a few differences:

  • A Label...
  • A TextBlock....

image

I love Sean's 2,000 Things You Should Know About WPF posts. "WPF? Isn't that dead?" No, not even. Mature, maybe, but hell so am I and I'm not dead (well, at least I like to think so... ;)

Anyway... I was asked this the other day and I gave a pretty lame answer. Now I can actually sound like I know something! I know, imagine that!

 

Related Past Post XRef:
A Feed You Should Read #34 - 2,000 Things You Should Know About WPF