0

2つのタブがあるタブコントロールがあり、各タブにはUserControlが含まれ、UserControlにはトランジションとともに定義されたビジュアルステートがあります。

私が回避したい問題は、アクティブなタブを変更するたびに、コントロールすでに状態になっているはずであり、変更する必要がない場合でも、ビジュアル状態遷移ストーリーボードが実行されることです。

これを追跡して、タブを変更すると、新しく表示されたタブ内のすべての子UserControlのコンストラクターが実行されます。これを回避する方法はありますか?

4

2 に答える 2

2

これは、タブアイテムを変更するたびに、前のタブのコンテンツがVisualTreeからアンロードされるために発生します。このテーマについては、ここ自体で多くの議論があります。以下のリンクを参照してください。

WPF TabControl-タブ変更時のアンロードを防止しますか?

http://www.hardcodet.net/2008/01/wpf-loaded-event-fired-repeatedly

http://eric.burke.name/dotnetmania/2009/04/26/22.09.28

TabControlのタブアイテム内のコントロール状態を保持する方法

お役に立てれば

于 2011-03-12T04:35:22.363 に答える
0

タブをバインドしたため、Contentアンロードとリロードが行われていたことがわかりました。に切り替えてStaticResources使用するとDataContext、私の場合の問題が修正されました。

于 2011-03-14T15:26:30.383 に答える