WPF Major Breaking Changes in Feb 2006 CTP
This is intended as a quick guide to the major breaking changes that will affect Windows Presentation Foundation applications, rather than providing an exhaustive list:
- Schemas have changed for WPF and XAML. Instead of:
https://schemas.microsoft.com/winfx/avalon/2005
use:
https://schemas.microsoft.com/winfx/2006/xaml/presentation
Instead of:
https://schemas.microsoft.com/winfx/xaml/2005
use:
https://schemas.microsoft.com/winfx/2006/xaml - We've tightened up the definition of Grids - make sure you wrap ColumnDefinition and RowDefinition elements within a corresponding Grid.ColumnDefinitions or Grid.RowDefinitions element. (Previously you couldn't use this syntax within templates.)
- SinglePageViewer is now FlowDocumentPageViewer (this makes sense, since the viewer is used for FlowDocuments!)
- The relative source binding syntax has changed: replace
{Binding Path=foo, RelativeSource=/TemplatedParent}
with
{Binding Path=foo, RelativeSource='{RelativeSource TemplatedParent}'}
UPDATE: Karsten and I are less well synchronized than normal this week since we're temporarily in different continents. He's posted a separate list of breaking changes on his blog. Check both locations out - he's got a few that I don't have and vice versa.
UPDATE 2: Rob has a nice tool that makes some of these updates automatically. He also mentions the external assembly referencing breaking change (another one I missed - doh!)
Comments
- Anonymous
February 22, 2006
So these are the breaking changes.
What kinds of non-breaking changes are in the Feb CTP?
Im thinking in particular of WPF changes. - Anonymous
February 22, 2006
New features, you mean? I can't think of any further additions off-hand - we're really locked and loaded for RTM at this point. - Anonymous
February 22, 2006
I'm more curious about what other breaking changes there are. - Anonymous
February 23, 2006
Is Feb'2006 CTP of Avalon/WPF feature complete?
thanks,
Slavo. - Anonymous
February 25, 2006
Feb CTP is out.  This CTP, the Cider install is integrated into the Visual Studio "Orcas" Development... - Anonymous
March 01, 2006
The comment has been removed - Anonymous
March 27, 2006
How do you translate
{Binding RelativeSource=/TemplatedParent/TemplatedParent}
into the new syntax for RelativeSource?
I tried using
{Binding RelativeSource={RelativeSource Mode=TemplatedParent, AncestorLevel=2}}
But it doesn't work. - Anonymous
August 25, 2006
George,
The following should work:
{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplatedParent} - Anonymous
November 13, 2006
any idea why this doesn't work? <Window x:Class="TemplateExample.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TemplateExample" Height="300" Width="300" > <Window.Resources> <XmlDataProvider x:Key="Index" XPath="/Chapters"> <x:XData> <Chapters xmlns=""> <Chapter> <Title>Title 1</Title> <Name>Name 1</Name> </Chapter> <Chapter> <Title>Title 2</Title> <Name>Name 2</Name> </Chapter> </Chapters> </x:XData> </XmlDataProvider> <DataTemplate x:Key="MyTemplate"> <StackPanel> <TextBox FontSize="14" FontWeight="Bold" FontStyle="Oblique" Text="{Binding XPath=Title}" /> <TextBox FontSize="14" FontWeight="Bold" FontStyle="Italic" Text="{Binding XPath=Name}" /> </StackPanel> </DataTemplate> </Window.Resources> <StackPanel> <ListBox Background="Aqua" ItemsSource="{Binding Source={StaticResource Index}, Path=Chapter}" ItemTemplate="{StaticResource MyTemplate}" /> </StackPanel> </Window>