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
Advantages and disadvantages of M-V-VM
Posted
over 7 years ago
by
JohnGossman
2
Comments
I've had several questions about when and why to use M-V-VM versus other approaches. The obvious purpose is abstraction of the View, reducing the amount of business logic or glue code stuck in code-behind. All tasty goodness abstractly, but here's another...
Tales from the Smart Client
Excellent introduction to Model-View-ViewModel
Posted
over 4 years ago
by
JohnGossman
0
Comments
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
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
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
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
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
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
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
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
Model-View-ViewModel
Posted
over 7 years ago
by
JohnGossman
2
Comments
In preparing my example of Model-View-ViewModel I had a lot of help from Adrian Sanchez, who previewed the code and asked me questions about it. It was a big help in figuring out what needed explanation. When I started on Expression I heard about the...
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
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
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
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
Pythalon
Posted
over 8 years ago
by
JohnGossman
0
Comments
This weekend I continued my experiments with Python and Avalon. Before I was hosting Python in an existing app, but now I've started from almost scratch. I have to clean up the code and wait for the outside world to get new Avalon bits, but I can describe...
Tales from the Smart Client
More on MVC and M-V-VM
Posted
over 5 years ago
by
JohnGossman
3
Comments
There have been a raft of interesting articles and discussions of MVC patterns and WPF. A practical introduction is here: http://www.codeproject.com/KB/WPF/MVCtoUnitTestinWPF.aspx I love the article, but must add I have always struggled with RoutedCommands...
Tales from the Smart Client
The PresentationModel pattern
Posted
over 8 years ago
by
JohnGossman
2
Comments
I got e-mail from an interested party pointing me to Martin Fowler's description of the PresentationModel pattern. Written up just last year, I hadn't seen it in the literature before. I've got to read it a couple of times and think about the subtleties...
Tales from the Smart Client
Whats a controller anyway?
Posted
over 8 years ago
by
JohnGossman
3
Comments
A friend pointed me to this great article about MVC: http://c2.com/cgi/wiki?WhatsaControllerAnyway The central claim is that MVC had a very clear definition in SmallTalk, which was changed by either NextSTEP or Ivar Jacobsen depending whom you talk...
Tales from the Smart Client
PresentationModel and WPF
Posted
over 5 years ago
by
JohnGossman
1
Comments
Julian Dominguez is writing a series about the PresentationModel pattern and using it with WPF. http://staff.southworks.net/blogs/jdominguez/archive/2008/05/20/First-approach-to-Presentation-Model-with-DataTemplates.aspx and Glenn Block has just posted...
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
CollectionView
Posted
over 7 years ago
by
JohnGossman
3
Comments
CollectionView is a very interesting construct. After including it in my ViewModel I meant to quickly blog about the usage...but when I started thinking about it and reading a bit more about it, it becomes even more interesting. Lots of good blogging...
Tales from the Smart Client
How to initialize an attached DependencyProperty of type Collection
Posted
over 5 years ago
by
JohnGossman
3
Comments
I was reading a thread about Commands in the WPF Disciples group and noticed a comment about being unable to initialize an attached property where the type was collection. The problem was unless you put in an explicit Collection object tag, the property...
Page 1 of 6 (143 items)
1
2
3
4
5
»