我当前的应用程序有一个小问题,处理视觉状态和自动/静态宽度。
根据视觉状态,aStackPanel
要么具有宽度 =“自动”,要么具有宽度 =“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);
}
任何帮助将不胜感激!