Have you considered displaying a ContentControl as the right-side pane, and using DataTemplates to customize the contents? Then you could simply bind the right pane to the selected item of the TreeView.
For example:
<ContentControl Content="{Binding SelectedItem,ElementName=treeView1}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type my:A}">
<StackPanel>
<TextBlock Text="Displaying an A!" />
<TextBlock Text="{Binding Foo}" />
</StackPanel>
</DataTemplate>
<DataTemplate DataType="{x:Type my:B}">
<StackPanel>
<TextBlock Text="Displaying a B!" />
<TextBlock Text="{Binding Bar}" />
</StackPanel>
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
Matt Hamilton
2010-04-08 01:12:34