Nick on WPF/E

Now that we’ve shipped our first CTP, I can tell you what I’ve been working on for the last six months. (No points for guessing!) It’s been a lot of work but I’m pretty happy with the ctp. It’s definitely not perfect, and there’s a some important scenarios we don’t solve yet — while it…

12

JavaScript, the underappreciated language

I’ve spent a good part of my career writing compilers, editors, and runtime libraries, so I’ve formed some fairly strong opinions about what makes a good programming language.  Which is why if you’d told me six months ago that I would be programming inJavaScript — and liking it — I would have thought you were…

5

XML heresies

Right before I went on vacation, I wrote a little code to do syntax coloring for XML, which reminded me of my mixed feelings about XML.  Don’t get me wrong, there’s enough momentum behind it that these days it’s the right answer for almost any text format.  But at the same time, it has some…

5

Syntax coloring for xaml

I wrote some code that would generate syntax coloring for xaml (and for that matter, most other XML), figured I would share it out.  Some assembly required: using System;using System.Collections.Generic;using System.Text;using System.Diagnostics; namespace BuildQuickStart{    /*     * this file implements a mostly correct XML tokenizer.  The token boundaries     * have been chosen to match Visual Studio…

0

Hardware acceleration, layered windows, and XP

Seema posted the final word on hardware acceleration for WPF layered windows. Long story short, layered windows won’t be hardware accelerated on Windows XP (but will on Windows Vista). We had hardware acceleration kind of sort of working, but it was pretty unreliable, and was actually slower than software rendering in some cases and some…

2

Implicit and explicit tags in xaml

In WPF, some collection properties require you to specify an object element for the collection itself, e.g.:     <Something>      <Something.Children>        <ChildrenCollection>          …        </ChildrenCollection>      </Something.Children>    </Something> Other collection properties require that you not specify an object element, e.g.:     <Something>      <Something.Children>          …      </Something.Children>    </Something> Other properties, most notably .Resources, allow both syntaxes. Why is that?  We’ve…

2

Xaml terminology & intro

One of the things I don’t think we’ve done that good a job on in WPF is using a consistent set of terminology — the product cycle has been long enough that a lot of things have gone through multiple names, and we often use them interchangeably. That’s not a problem for those who know…

3

Another interop application

As Tim announced the other day, the “Calendar Printing Assistant for Outlook 2007” (codename: xcal) is the latest Microsoft application to use WPF. And as Erwyn noticed, one of the things that makes xCal different is that it uses a significant amount of hwnd interop. XCal is hosted inside the hwnd-based Office shell, and has…

0

What’s an inheritance context?

I’ve been slacking on my blogging lately, so what better way to get back into the swing of things than to post an article I’ve been meaning to write for five months?  But before I tell you about inheritance contexts, I have to explain the problem it solves.  Once upon a time, property inheritance looked…

22

Favorite features in the June CTP

As the latest CTP shows, we are cranking along on WPF.  Most of our time is going towards bug fixing and improving performance.  Really important stuff, but not always terribly exciting for you to read about.  <g> But there are few genuine features that my “element services” team helped bring into the June CTP: Hardware…

10