Sign in
Tales from the Smart Client
John Gossman's observations on Avalon development
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Tags
No tags have been created or used yet.
Archive
Archives
January 2009
(1)
November 2008
(1)
October 2008
(1)
August 2008
(2)
July 2008
(2)
June 2008
(1)
May 2008
(8)
February 2008
(2)
May 2007
(1)
November 2006
(1)
October 2006
(1)
September 2006
(1)
August 2006
(1)
April 2006
(2)
March 2006
(5)
February 2006
(6)
January 2006
(2)
October 2005
(16)
September 2005
(7)
August 2005
(4)
July 2005
(3)
June 2005
(2)
May 2005
(11)
April 2005
(8)
March 2005
(11)
February 2005
(4)
January 2005
(20)
October 2004
(12)
September 2004
(7)
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Tales from the Smart Client
Introduction to Model/View/ViewModel pattern for building WPF apps
Posted
over 8 years ago
by
JohnGossman
84
Comments
Model/View/ViewModel is a variation of Model/View/Controller (MVC) that is tailored for modern UI development platforms where the View is the responsibility of a designer rather than a classic developer. The designer is generally a more graphical, artistic...
Tales from the Smart Client
The Attached Behavior pattern
Posted
over 5 years ago
by
JohnGossman
20
Comments
My favorite feature of WPF (desktop and web versions) is attached properties. It would be good enough if attached properties merely enabled things like keeping layout properties (Canvas.Left) organized by the type of container rather than the type of...
Tales from the Smart Client
Silverlight: the art of subsetting
Posted
over 5 years ago
by
JohnGossman
18
Comments
I am an architect of WPF, both the full desktop version and the subset that provides the UI framework for Silverlight. This subsetting exercise raises challenges I've not run into before when designing software. Simply put, how do we keep the framework...
Tales from the Smart Client
VisualStateManager for desktop WPF
Posted
over 5 years ago
by
JohnGossman
10
Comments
As I’ve described before , we introduced the new VisualStateManager concept into Silverlight WPF before we added the same functionality in desktop WPF, in violation of our general guideline that Silverlight is functionally a subset of the desktop .NET...
Tales from the Smart Client
UML diagram of Model-View-ViewModel pattern
Posted
over 7 years ago
by
JohnGossman
10
Comments
Conceptually there isn't much to M-V-VM that can be expressed in UML...but if the GoF authors can use UML to describe Singleton (one object), I guess can make a 4 box UML diagram for M-V-VM.
Tales from the Smart Client
Confusion over definition of Controller in MVC
Posted
over 8 years ago
by
JohnGossman
8
Comments
I've got a frustrated anonymous poster who complains that my definition of ViewModel in Model/View/ViewModel is exactly that of Controller in MVC, and references Cocoa. It appears to me that Cocoa has changed the definition of Controller from the original...
Tales from the Smart Client
Some thoughts on the RoutedCommand design
Posted
over 5 years ago
by
JohnGossman
8
Comments
I think we have conflated several concepts with RoutedCommands: 1) The ICommand part with it's Execute/CanExecute methods ... basically this is just a form of method dispatch that lends itself to declarative systems 2) Common Verbs or Actions -...
Tales from the Smart Client
Visual States in XAML Templates
Posted
over 5 years ago
by
JohnGossman
8
Comments
The Silverlight and desktop WPF implementations of Templates use the same syntax and programming model for describing the tree of objects that make up the control body, but differ in how they describe dynamic changes of the template. In desktop WPF, this...
Tales from the Smart Client
Wiki Spam and Page Rank
Posted
over 8 years ago
by
JohnGossman
7
Comments
Within 15 minutes of my last post, Bob pointed out that the purpose of Wiki Spam is to increase the Page Rank of their sites. So, I understand the business model now, I just don't get the ethics... Bob by the way, has an interesting looking site.
Tales from the Smart Client
Enabled comments
Posted
over 8 years ago
by
JohnGossman
7
Comments
Curious how long before I get comment spam.
Tales from the Smart Client
Ruby.Net and Wiki Spam
Posted
over 8 years ago
by
JohnGossman
6
Comments
For relaxation purposes (yes, I am a geek) I've been playing with dynamic programming languages: Perl, Python and Ruby in particular. Recently I found a project to build a Ruby bridge so you could use it with .NET. The site is set up as a Wiki: http:...
Tales from the Smart Client
First try at a ViewModel for the example
Posted
over 7 years ago
by
JohnGossman
6
Comments
In the first iteration of this example, I databound the View directly to the Model. While not pretty, this was surprisingly functional. The list box was populated and when you changed selection through the list you automatically get a detail view of the...
Tales from the Smart Client
100 Model/View/ViewModels of Mt. Fuji
Posted
over 8 years ago
by
JohnGossman
6
Comments
Trapped deep within the pragmatic hacker that is the essential me, there still lurks a computer scientist. The computer scientist isn't even screaming to get out; he's been so long buried in the deepest dungeons that he is grown to accept his fate, adopted...
Tales from the Smart Client
The History of Sparkle: Year One
Posted
over 8 years ago
by
JohnGossman
6
Comments
The name of the product I work on is Microsoft Expression Code Named "Interactive Designer/Sparkle". This is not the final name. For four years it has internally been known as Sparkle. So for a history of the product, I'll use that name. I wasn't around...
Tales from the Smart Client
XAML is for tools
Posted
over 8 years ago
by
JohnGossman
6
Comments
There is quite a bit of discussion internally and externally about the role of XAML in WinFX development. One of the main questions is "Why would I use XAML instead of C# or VB?" Simply put, "Sparkle", "Cider" and other design tools provide the main...
Tales from the Smart Client
New theory on presentations: No PowerPoint!
Posted
over 7 years ago
by
JohnGossman
5
Comments
I was not particularly happy with my PDC presentation. We were asked to rehearse them, review the slide decks and practice, practice, practice. So I did. And over time, the presentation got worse and worse, so that a few days before I was to give it,...
Tales from the Smart Client
Model-View-ViewModel pattern example
Posted
over 7 years ago
by
JohnGossman
5
Comments
I've been promising an example of the Model-View-ViewModel pattern for some time. With the Feb CTP of WinFX out and the Feb CTP of Expression Interactive Designer close, I feel like I can post something that will work for awhile. I had more ambitious...
Tales from the Smart Client
Expression Interactive Designer CTP is available
Posted
over 7 years ago
by
JohnGossman
4
Comments
The product I've been working on the past couple of years is available in CTP form . And, yes, this explains why my blog has been pretty quiet since shortly after PDC. Here's my take on the significance of the product. The Win32 UI platform at least...
Tales from the Smart Client
The All-Avalon, All-the-time Application
Posted
over 8 years ago
by
JohnGossman
4
Comments
Expression Interactive Designer (aka Sparkle) is a 100% .NET, managed code application. The source is currently more than 1200 .cs files and about 140 .xaml files totally 210,000 some lines of C# and 23,000 some lines of XAML. There is no unmanaged...
Tales from the Smart Client
AttachedBehavior pattern sample
Posted
over 5 years ago
by
JohnGossman
4
Comments
The ClickBehavior is about the simplest I can think of. For illustration purposes I only included one command, but LeftClickCommand, DoubleClickCommand, MouseOverCommand etc. are all obvious extensions: public static class ClickBehavior { public...
Tales from the Smart Client
Snoop: An essential tool for debugging and perf work with WPF
Posted
over 7 years ago
by
JohnGossman
4
Comments
My colleague Pete has it up on his site: http://www.blois.us/Snoop/ This developed out of internal tools originally built into Expression that help us inspect our visual tree. Originally we dumped the tree to a text file, then Pete put some UI on it...
Tales from the Smart Client
OffTopic: eBooks
Posted
over 5 years ago
by
JohnGossman
4
Comments
My one lifelong hobby is reading. My house is full of bookcases and my floors are covered with books that don't fit. I read a lot of non-fiction: history, science, philosophy. I always tell people I haven't read sci-fi since my early 20s, which really...
Tales from the Smart Client
VisualStateManager
Posted
over 5 years ago
by
JohnGossman
4
Comments
Recently , I talked about how templates in WPF/SL are fundamentally built around the concept of a state machine, where the condition is a Trigger (desktop WPF) or code (Silverlight) and the new state is a group of Setters (desktop WPF) or a Storyboard...
Tales from the Smart Client
Blogs.Msdn.Com infrastructure?
Posted
over 8 years ago
by
JohnGossman
4
Comments
For obvious PR-ish reasons, Microsoft encourages employees to have public blogs. For obvious ego-ish reasons, a ton of Microsoft employees have taken the company up on the deal. I had a personal blog 3 years ago before I left Visio, at a time when it...
Tales from the Smart Client
Maxi-Microsoft
Posted
over 8 years ago
by
JohnGossman
3
Comments
Mini-Microsoft is always an interesting read, for the pure uniqueness of its iconoclasm, and the odd thrill of wondering who might be the author. So it is with some reluctance that I have come to realize: Mini-Microsoft is just plain wrong. Yes, Microsoft...
Page 1 of 6 (143 items)
1
2
3
4
5
»