WPF で動的にビューを切り替える - graphics.hatenablog.com
画面遷移っぽいということは、 NavigationServiceだと 次に開いた場合に設定なんかが戻っちゃうのかな? あと、データの受け渡しが面倒くさいのかもしれない。
DataTemplateで行う場合は、適当に名前つけておくのが簡単そうだった。 リソースに追加
<DataTemplate x:Key="User1">
<local:UserControl1 x:Name="user" />
</DataTemplate>
<DataTemplate x:Key="User2">
<local:UserControl2 x:Name="user2" />
</DataTemplate>
でも結局ふつうにContentControlに実体を設定するのではだめなのかな。
<XAML>
<ContentControl x:Name="ToolArea" Grid.Column="2" />
<C#>
UserControl1 user1 = new UserControl1();
this.ToolArea.Content = user1;
のような。