У меня небольшая проблема с моим текущим приложением, касающимся визуальных состояний и автоматической / статической ширины.
В зависимости от визуального состояния StackPanel
имеет ширину = «Авто» или ширину = «400». Blend сообщает мне, что я не могу анимировать между этими двумя значениями (и на самом деле я здесь не анимирую, а просто переключаюсь между полноэкранным видео и составным представлением). Теперь мне нужно провести явный тест и изменить ширину при изменении своего визуального состояния (через VisualStateManager
-framework. Есть ли способ сделать это в XAML (через раскадровки), а не в коде?
Некоторые примеры кода того, что я делаю сегодня:
private void Trailer_OnFullScreenToggled(object sender, EventArgs e)
{
var state = (Trailer.IsFullScreen() ? "Windowed" : "Fullscreen");
// HACK: Done to get past the auto / px issue
VisualsGrid.Width = Trailer.IsFullScreen() ? 400.0 : Double.NaN;
VisualStateManager.GoToState(this, state, true);
}
Любая помощь будет принята с благодарностью!