PrismベースのSilverlightアプリケーションを作成しており、個別のモジュールに多数のページがあります。
ページ間の遷移はナビゲーションイベントを介して処理され、各モジュールには次のメソッドが実装されており、移動時にページを表示し、移動時に非表示になります。
public void Show()
{
VisualStateManager.GoToState(this, "ShowState", true);
}
public void Hide()
{
VisualStateManager.GoToState(this, "HideState", true);
}
現在、「ShowState」と「HideState」は各モジュールのXAMLファイルで定義されているため、何度も複製されています。
<Grid x:Name="LayoutRoot">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="VisualStates">
<VisualState x:Name="ShowState">
...
</VisualState>
<VisualState x:Name="HideState">
...
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
ここで、は各遷移...
のを表します。Storyboard
定義にエラーが見つかったStoryboard
ので、現時点ではすべてのファイルに修正を複製する必要があります。Storyboard
各ファイルで参照できる定義が1つしかない方がよいでしょう。
私は午前中ずっと正しい構文を探しましたが、これまで運がなかったのです。
VisualStateManager
これをすべてのXAMLファイル間で共有するにはどうすればよいですか?