windows8标准动画示例
这个简单的程序展示了如何使用api(Windows.UI.Core动画度量。AnimationMetrics进入原始参数确定动画在窗户动画图书馆。这些信息能够帮助开发者的应用和应用框架来创建动画符合视窗和其他程序使用窗户动画图书馆。
这个演示了该方法涉及以下的情景:
•在一个列表添加一个项目
•使屏幕上新的一页
public sealed partial class ScenarioList : Page
{
// A pointer back to the main page which is used to gain access to the input and output frames and their content.
MainPage rootPage = null;
public ScenarioList()
{
InitializeComponent();
}
#region Template-Related Code - Do not remove
void Scenarios_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (Scenarios.SelectedItem != null)
{
rootPage.NotifyUser("", NotifyType.StatusMessage);
ListBoxItem selectedListBoxItem = Scenarios.SelectedItem as ListBoxItem;
SuspensionManager.SessionState["SelectedScenario"] = selectedListBoxItem.Name;
if (rootPage.InputFrame != null && rootPage.OutputFrame != null)
{
// Load the input and output pages for the current scenario into their respective frames.
rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioInput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.InputFrame);
rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioOutput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.OutputFrame);
}
}
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
rootPage = e.Parameter as MainPage;
Scenarios.SelectionChanged += new SelectionChangedEventHandler(Scenarios_SelectionChanged);
// Starting scenario is the first or based upon a previous selection.
ListBoxItem startingScenario = null;
if (SuspensionManager.SessionState.ContainsKey("SelectedScenario"))
{
String selectedScenarioName = SuspensionManager.SessionState["SelectedScenario"] as string;
startingScenario = this.FindName(selectedScenarioName) as ListBoxItem;
}
Scenarios.SelectedItem = startingScenario != null ? startingScenario : Scenario1;
}
#endregion
}
{
// A pointer back to the main page which is used to gain access to the input and output frames and their content.
MainPage rootPage = null;
public ScenarioList()
{
InitializeComponent();
}
#region Template-Related Code - Do not remove
void Scenarios_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (Scenarios.SelectedItem != null)
{
rootPage.NotifyUser("", NotifyType.StatusMessage);
ListBoxItem selectedListBoxItem = Scenarios.SelectedItem as ListBoxItem;
SuspensionManager.SessionState["SelectedScenario"] = selectedListBoxItem.Name;
if (rootPage.InputFrame != null && rootPage.OutputFrame != null)
{
// Load the input and output pages for the current scenario into their respective frames.
rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioInput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.InputFrame);
rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioOutput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.OutputFrame);
}
}
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
rootPage = e.Parameter as MainPage;
Scenarios.SelectionChanged += new SelectionChangedEventHandler(Scenarios_SelectionChanged);
// Starting scenario is the first or based upon a previous selection.
ListBoxItem startingScenario = null;
if (SuspensionManager.SessionState.ContainsKey("SelectedScenario"))
{
String selectedScenarioName = SuspensionManager.SessionState["SelectedScenario"] as string;
startingScenario = this.FindName(selectedScenarioName) as ListBoxItem;
}
Scenarios.SelectedItem = startingScenario != null ? startingScenario : Scenario1;
}
#endregion
}
完整示例