如何用过渡替换Silverlight / WP7中的当前控件?

时间:2011-03-07 00:19:23

标签: silverlight windows-phone-7 transitions

我有一个有两个控件的Wp7。一个是地图,另一个是全景控制。其中一个全景项是一个值列表。如果用户点击列表项,我想显示一个旋转门过渡到一个显示更多细节的新控件。

到目前为止,在XAML中,我有一个绑定到LeftMouseUp的事件,并触发它。但是我现在确定如何用新的控件(视图)替换当前的panoramaitem,或者如何在两者之间使用silverlight工具包提供的TurnstileTransition。

TurnstileTransition transitionElement = 
  new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardIn };

AlertDetailedView view = new AlertDetailedView();

view.DataContext = (e.OriginalSource as FrameworkElement).DataContext;

//this stuff below sorta doesnt really work...
ITransition transition = transitionElement.GetTransition(this);

transition.Completed += delegate
{
   transition.Stop();

};
transition.Begin();

1 个答案:

答案 0 :(得分:1)

为了适应WP7导航(例如后退按钮),我建议您为两个控件使用两个不同的页面。

为了了解如何设置页面过渡动画,SL工具包包含一些有用的材料 - 或者Kevin Marshall的博客也非常有用 - 例如 http://blogs.claritycon.com/kevinmarshall/2010/05/12/windows-phone-7-prototype-002-animated-page-transitions-writeable-bitmaps/