用メモリにMVVMのDataTemplate負荷私はRadioButton
(RadioButton
がContentControl
のContent
プロパティを設定するのModelViewにコマンドを送信に基づいてContentControl
にロードされているいくつかの異なるDataTemplate
を持つウィンドウを持っていWPF - 再利用
それはうまく動作しますが、今いくつかのビューは、これらのビューのいずれかに切り替える「重い」オブジェクト(Eyeshot CAD viewer)。
が含まれているこの瞬間に、ビュー以外のソフトウェア全体で絶対にゼロロジックがあります(遅延が発生します/ビューモデル)
ビューと重いコントロールを一度メモリにロードしてから、ビューに切り替えるときに再利用する方法はありますか?あなたが設定することができ、あなたのDataTemplateで
<DockPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Height="160" Margin="0,0,0,12">
... Removed for clarity
</StackPanel>
<ContentControl x:Name="Tabs" Content="{Binding SelectedTabViewModel}" Margin="0,12,0,12"/>
</DockPanel>
私は[この質問](http://stackoverflow.com/q/30033162/1997232)の複製として投票しますが、私は自分で答えを得ることはできません。私が現在行っていることは、ビューを切り替える前に(待機中にアニメーションを表示してユーザーを楽しませることができる)、最初のレンダリング(別の 'ContentControl'で発生)を待つことです:' Dispatcher.InvokeAsync(()=> ...、DispatcherPriority .Render); '(ここで' ... 'は最初のものを2番目の' ContentControl'に置き換える部分です)。 – Sinatr