Simple MVVM Walkthrough – Part I

Originally posted on The Agile Warrior:

Not being able to find a simple MVVM walkthrough I really liked, I created this simple example for those just wanting to see quickly how to connect the dots.

It doesn’t do anything fancy (just uses some basic databindings and a single command) but if you are just looking for a quick example of how to hook the View to the ViewModel hopefully this will help.

The app

This example is based on a simple WPF application. You basically enter some data and it populates a label.

How it all works

MVVM (a variant of MVC and MVP) uses WPF databinding to keep UI controls and Model elements in sync.

This clear separation of concerns makes applications more testable, and well as eliminating a lot of the event plumbing you would otherwise need to keep all your controls up-to-date.

Here’s a short walk through of what’s going on.


View original 1,586 more words

WPF Simplified Part 10: WPF Framework Class Hierarchy

Mr. D:

WPF Simplified Part 10: WPF Framework Class Hierarchy

Originally posted on I.Net:

The WPF framework contains three major components, the , the , and the (Media Integration Layer Core).


While and form the managed WPF programming model, MSDN says this about the ,

Milcore is written in unmanaged code in order to enable tight integration with DirectX. All display in WPF is done through the DirectX engine, allowing for efficient hardware and software rendering. WPF also required fine control over memory and execution. The composition engine in milcore is extremely performance sensitive, and required giving up many advantages of the CLR to gain performance.

The WPF framework contains many classes and its useful to get an overall view of the class hierarchy. The diagrams below show some of the major class in the framework (not all classes are included) in the WPF class hierarchy.


The contains most of the UI controls that we usually work with, and is expanded below,


Some notes…

View original 350 more words

F# Weekly #1, 2014

Originally posted on Sergey Tihon's Blog:

Welcome to F# Weekly,

A roundup of F# content from this past week:



View original 233 more words

Twitter Pulse #fsharp 2013

Mr. D:

another awesome article from Sergey :)

Originally posted on Sergey Tihon's Blog:

F# Twitter Pulse 2013

Previously I have published statistics about #fsharp twitter hashtag. This one is based on the tweets that I collected throughout the whole 2013 year. Every week while working on the F# weekly I have downloaded all tweets with hashtag #fsharp and pushed them to my local MongoDB. I managed to collect about 24000 tweets from more than 3000 twitter users.

The first picture on the top of this page is based on total twitter activity around #fsharp hashtag. The size of twitter names depends on sum number of people tweets and retweets. Other charts are self descriptive. Thank you guys for your effort, let’s make 2014 even better.




Michael Newton proposed an interesting idea: “Calculate number that measures F# community love”. I calculated number of retweets for each twitter account and divided it by number of unique tweets from this account (both with #fsharp hash tag). Finally, I excluded accounts who…

View original 14 more words

Conversation Translator Auto-Translates Instant Messages Into 35 Languages

Conversation Translator Auto-Translates Instant Messages Into 35 Languages.

Communicating without having to thinking about translation is a big step forward for communication, says Takako Aikawa, program manager on MSR’s Machine Translation Team. “The notion of being language-agnostic is essential for global communication, and that’s the beauty of this translator,” Aikawa says. “The goal is to let everyone communicate in their own language, and make every language – and every person – equal.”

Lin Li, senior test engineer for the Lync team and a researcher on language learning, sees Conversation Translator as a groundbreaking initiative at Microsoft. She believes that as social features become more prevalent in Microsoft products, translation will become ever more important.

“Global economic development brings language diversity and translation to the forefront, and as worldwide …



FAST Search Server 2010 for SharePoint Versions

Originally posted on Talbott Crowell's Software Development Blog:

Here is a table that contains a comprehensive list of FAST Search Server 2010 for SharePoint versions including RTM, cumulative updates (CU’s), and hotfixes. Please let me know if you find any errors or have a version not listed here by using the comments.

Build Release Component Information Source (Link to Download)
14.0.4763.1000 RTM FAST Search Server Mark   van Dijk 
14.0.5128.5001 October 2010 CU FAST Search Server KB2449730 Mark   van Dijk 
14.0.5136.5000 February 2011 CU FAST Search Server KB2504136 Mark   van Dijk 
14.0.6029.1000 Service Pack 1 FAST Search Server KB2460039 Todd   Klindt
14.0.6109.5000 August 2011 CU FAST Search Server KB2553040 Todd   Klindt
14.0.6117.5002 February 2012 CU FAST Search Server KB2597131 Todd   Klindt
14.0.6120.5000 April 2012 CU FAST Search Server KB2598329 Todd   Klindt
14.0.6126.5000 August 2012 CU FAST Search Server KB2687489 Mark   van Dijk 
14.0.6129.5000 October 2012 CU FAST Search Server KB2760395 Todd…

View original 245 more words

Dropbox for .NET developers

Mr. D:


Originally posted on Sergey Tihon's Blog:

Some days ago, I was faced with the task of developing Dropbox connector that should be able to enumerate and download files from Dropbox. The ideal case for me is a wrapper library for .NET 3.5 with an ability to authorize in Dropbox without user interaction. This is a list of .NET libraries/components that are currently available:

Sprint.NET and Xamarin component are not my options for now. DropNet also does not fit my needs, because it is .NET 4+ only. But if your application is for .NET 4+, then DropNet should be the best choice for you. I chose SharpBox, it looks like a dead project – no commits since 2011, but nevertheless the latest version is available on NuGet.

At the beginning, you need to go to Dropbox App Console

View original 205 more words