Мы пишем приложение Silverlight на основе Prism, и у нас есть целая куча страниц в отдельных модулях.
Переход между страницами обрабатывается с помощью событий навигации, и в каждом модуле реализованы следующие методычтобы показать страницу при переходе и скрыть ее при переходе от:
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
, на которое можно ссылаться.
Я искал все утро правильный синтаксис, но мне не повезло.
Как я могу поделиться этим VisualStateManager
между всеми нашими файлами XAML?