You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.
Monday, Dec 4, 2006, 3:11 PM in .NET
XAML Design Tools from Microsoft
If you're a designer looking for XAML design tools, and you're a designer type (you know -- beret, turtle neck, a wardrobe that extends beyond jeans and t-shirts), you've got two choices from Microsoft. You can use Expression Design [1] for static XAML graphics or Expression Blend (aka Sparkle) for dynamic XAML interfaces. Both are available in pre-release form (CTP for Design and Beta 1 for Blend), so give them a try.
[1] "Expression Design" is not to be confused with "Expression Designer", which is the old name for Sparkle (Blend).
P.S. Can someone give Scoble a hug? He's obviously a little worked up if he's recommending physical violence for disagreements about web site design. : )
Monday, Dec 4, 2006, 11:12 AM in .NET
Holy Cow! An Entire WPF/E DevCenter!
I expected eventually to get a WPF/E (Windows Presentation Foundation Everywhere) download or two, but these guys went crazy; they just released an entire WPF/E DevCenter this morning. Here're just a few highlights:
- WPF/E CTP for Windows and the Mac
- WPF/E online reference, samples and downloadable SDK
- Microsoft Expression Design CTP
- SWF to XAML Converter
- Adobe Illustrator to WPF/XAML Export Plug-In
Enjoy!
P.S. Regardless of whether humans caused global warming or whether it's part of a natural cycle, it's happening and we're going to have to deal with it.
Tuesday, Nov 7, 2006, 10:25 AM in .NET
.NET Framework 3.0 (aka WinFX) Has Shipped!
After a monumental amount of work, the .NET Framework 3.0 has been completed! It ships out of the box in Vista, but for down level clients (Windows XP and Windows Server 2003) and developer tools, see the links below:
- Microsoft .NET 3.0 Framework Release Notes
- Microsoft .NET Framework 3.0 Redistributable Package (for XP and 2003)
- Microsoft Windows SDK for Windows Vista and .NET Framework 3.0 Runtime Components in ISO Install and Web Install formats (with it's own set of Release Notes)
- Visual Studio 2005 extensions for .NET Framework 3.0, both for WF and for WCF/WPF (WCF/WPF extensions are the November 2006 CTP -- there are more to come)
- WCF/WPF/WF Cross-Technology Integration Samples (I admit I'm biased here to point out the parts of .NET 3.0 that I worked on : )
Wahoo!
Friday, Oct 6, 2006, 10:14 AM in .NET
WPF: Enabling Crimes Against Nature in a Good Way
My friend Jeff asked me to do a terrible thing yesterday: "How do I show a form in the popup window that a menu shows?" I said, "Dude! Don't do that -- write a dialog!" And that's what he did, but then, like a train wreck, I couldn't look away. It took me all of 10 minutes of very straight forward coding and here we are:
If you're familiar with WPF, data binding and data templates, this is all standard stuff. Here's the data structure:
class Person : INotifyPropertyChanged
{
string name;
public string Name
{
get { return name; }
set { name = value; Notify("Name"); }
}
int age;
public int Age
{
get { return age; }
set { age = value; Notify("Age"); }
}
public event PropertyChangedEventHandler PropertyChanged;
void Notify(string prop) { if( PropertyChanged != null ) { PropertyChanged(this, new PropertyChangedEventArgs(prop)); } }
}
The data template is also bog standard:
<DataTemplate DataType="{x:Type local:Person}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0">_Name</Label>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Name}" />
<Label Grid.Row="1" Grid.Column="0">_Age</Label>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Age}" />
</Grid>
</DataTemplate>
Setting up the app itself is nothing special:
<Window ...>
<Window.Resources>
<DataTemplate DataType="{x:Type local:Person}">
...
</DataTemplate>
</Window.Resources>
<Grid>
<Menu>
<MenuItem Header="File">
<MenuItem Header="Exit" x:Name="fileExitMenuItem" />
</MenuItem>
<MenuItem Header="Form" ItemsSource="{Binding}" />
</Menu>
</Grid>
</Window>
Notice that the items that make up the menu come from a binding to the ambient data source, which we set in the code-behind:
protected override void OnInitialized(EventArgs e)
{
...
Person tom = new Person();
tom.Name = "Tom";
tom.Age = 11;
DataContext = new Person[] { tom };
}
The only thing at all tricky is that, even though we're only editing a single object in the "popdown window," it has to be in an implementation of IEnumerable so that the menu can display it (it expects items to come in a list).
That's it. You can download the RC1 WPF project here.
You might wonder why I would post such a sample, when clearly that's not a UI we want to foster on folks. The answer is simple: because WPF allows it.
The power of any platform should be judged by how well it lets you write bad code. Early versions of Visual Basic let you write really bad code -- but it worked. Likewise, WPF lets me build the worst UIs ever -- but they work. This is necessary so that UI visionaries can experiment and get to a place where they're doing something completely different from UIs of today and we like it.
Do you think the Office folks, who, for all practical purposes, have been setting UI guidelines on Windows for a decade, could use MFC or Windows Forms? No, because they're not flexible enough. Could they use WPF? Absolutely they could. And so can you.
The crayon box has lots of colors that I don't like, but in the hands of an artist, they can create beauty.
Sunday, Oct 1, 2006, 3:10 PM in .NET
Sept CTP of .NET 3.0
The CTPs are coming so fast and so furious now that I nearly missed the September 2006 .NET Framework 3.0 CTP:
- Release Notes
- .NET Framework
- SDK
- VS05 Integration for WCF and WPF
- VS05 Integration for WF
- Cider Release Notes
Enjoy!
Thursday, Sep 7, 2006, 9:18 AM in .NET
.NET 3.0 RC1 Download
This one should be about done:
- .NET 3.0 RC1 Release Notes
- .NET 3.0 RC1 Framework Components
- .NET 3.0 RC1 SDK
- .NET 3.0 RC1 VS05 Tools (including Cider)
- .NET 3.0 RC1 SDK online
Enjoy!
Sunday, Aug 13, 2006, 11:41 AM in .NET
WPF Security in 14 Points and Some Extra Words
MikeDub has a nice summary to get you started down the road to WPF ClickOnce deployment, both for stand-alone apps and browser-based apps (XBAPs). Enjoy.
Sunday, Jul 30, 2006, 1:34 PM in .NET
On W*F Integration Samples
As you may or may not recall, Doug Purdy and I had some trouble at the last PDC getting Avalon (WPF) and Indigo (WCF) to work together. To save myself from having that trouble again, I came back from the PDC and starting the "WinFX Cross-Pillar SDK Samples Working Group," which is just a fancy name for the PMs in charge of Avalon, Indigo and Workflow samples getting together to make sure that we have a list of simple technology samples showing the three W*F technologies working together.
You can see the results of that work in the .NET 3.0 SDK under the Integration Samples for WinFX Features topic. Right now, there are 9 integration samples and I'm hoping to almost double that by .NET 3.0 RTM. I'd love feedback. Thanks!
Monday, Jun 12, 2006, 11:28 AM in .NET
WinFX + .NET 2.0 Renamed .NET 3.0
The WinFX name is no more. Instead, WinFX (.NET 2.0 + W*F)is .NET 3.0. <whew>
Thursday, May 25, 2006, 3:45 PM in .NET
WinFX Beta 2
Beta 2 signals the beginning of the final drive towards RTM for WinFX:
Enjoy.
Wednesday, Feb 22, 2006, 9:52 AM in .NET
Feb06 CTP of WinFX
The February '06 WinFX CTP cometh:
- WinFX RC February CTP Readme
- WinFX Runtime Components
- Windows SDK
- Visual Studio Community Technology Preview - Development Tools for WinFX® (aka Fidalgo)
- VS Extensions for WorkFlow
- Ed's Big List of WCF Breaking Changes
- Karsten's Big List of WPF Breaking Changes
Enjoy!
Friday, Jan 6, 2006, 2:51 PM in .NET
Larry O'Brien on WPF
Suddenly, I think Larry O'Brien is smart:
"The book, in this case, is Chris Sells and Ian Griffiths' 'Programming Windows Presentation Foundation.' Sells and Griffiths are two top-notch authors, who separately wrote two of the better books on Windows Forms. This book, published by O'Reilly and adorned with a Kudu engraving, probably does about as good a job as possible in introducing a new display framework that is intended to replace, well, everything from User to GDI to GDI+. And, it seems clear, to replace Flash as well."
You go, Larry!
Tuesday, Dec 20, 2005, 9:47 AM in .NET
MSDN Mag: Top Ten UI Breakthroughs In WPF
It goes without saying that MSDN Magazine doesn't let the authors pick the titles (who can forget Don's The Active Template Library Makes Building Compact COM Objects a Joy? : ), but what Ian and I had in mind here was 10 things that would surprise you when learning WPF and getting them in your face right up front. Enjoy.
Wednesday, Dec 7, 2005, 11:13 PM in .NET
Updated WPF book code samples for Nov CTP
Here. I've uploaded the samples for "Programming Windows Presentation Foundation" ported to the November 2005 CTP. The change notes doc is coming directly (so far, it's a pretty darn short doc).
Monday, Nov 21, 2005, 2:15 PM in .NET
WinFX November 2005 CTP
You’ve probably seen this by now, but I thought I’d post the WinFX Nov05 CTP-related links together in a spot where I could find them later. In addition to being closer to what we plan on shipping, this CTP also works with VS05 RTM:
- WinFX Readme
- What's New in WPF
- WinFX Runtime Components (WCF, WPF and WF)
- WinFX SDK
- VS05 Extensions for WCF and WPF
- VS05 Extensions for WF
Enjoy!