Visual Studio 2012针对不同的ViewState在IDE进行了支持。打开Device工具条,选择特定的视图状态,点选Enable State recording后就可以录制动画了,大大增加了开发效率。不过今天在使用Blank Page的时候,发现无论我怎么加ViewStateGroup到第一个Grid中,Enable State recording一直是灰色的,而且ViewState列表中只有一个Base。而由BasicPage模板建立的就没问题。
继承问题?改下继承,问题依旧。无奈查下MSDN,说要包含一个ApplicationViewStates的Group。ApplicationViewStates是个枚举,不能XAML到Page中,这什么意思啊。最后老方法,把BasicPage中的代码拷了过来,竟然好了。我靠为啥?仔细看看,代码如下:
<VisualStateManager.VisualStateGroups> <!-- Visual states reflect the application's view state --> <VisualStateGroup x:Name="ApplicationViewStates"> <VisualState x:Name="FullScreenLandscape"/> <VisualState x:Name="Filled"/> <VisualState x:Name="FullScreenPortrait"/> <VisualState x:Name="Snapped"/> </VisualStateGroup> </VisualStateManager.VisualStateGroups>
突然发现看到“ApplicationViewStates”了,原来是要命名。你妹啊,这文档写得(英文写的也模糊)。尝试改下名字,问题重现。确认是名称问题。
总结:VS2012的视图状态录制功能要求在XAML中增加一个命名为ApplicationViewState的ViewStateGroup,否则该功能无法开启。
转载于:https://www.cnblogs.com/ebread/archive/2012/08/27/2659008.html