提交记录修改UI/Controls/PageContainer.cs+54 −1看文件
| @@ -7,6 +7,8 @@ using System.Threading.Tasks; | ||
| 7 | 7 | using System.Windows; |
| 8 | 8 | using System.Windows.Controls; |
| 9 | 9 | using System.Windows.Input; |
| 10 | 新增:using System.Windows.Media; | |
| 11 | 新增:using System.Windows.Media.Animation; | |
| 10 | 12 | using System.Windows.Navigation; |
| 11 | 13 | using UI.Controls.Models; |
| 12 | 14 | using UI.Models; |
| @@ -138,6 +140,8 @@ namespace UI.Controls | ||
| 138 | 140 | NavigationCommands.BrowseBack.InputGestures.Clear(); |
| 139 | 141 | NavigationCommands.BrowseForward.InputGestures.Clear(); |
| 140 | 142 | PageCache = new Dictionary<string, PageModel>(); |
| 143 | 新增: | |
| 144 | 新增: CreateAnimations(); | |
| 141 | 145 | } |
| 142 | 146 | |
| 143 | 147 | |
| @@ -148,9 +152,15 @@ namespace UI.Controls | ||
| 148 | 152 | ScrollViewer = GetTemplateChild("ScrollViewer") as ScrollViewer; |
| 149 | 153 | Frame = GetTemplateChild("Frame") as Frame; |
| 150 | 154 | Frame.NavigationService.Navigated += NavigationService_Navigated; |
| 151 | 删除: | |
| 155 | 新增: Frame.NavigationService.LoadCompleted += NavigationService_LoadCompleted; | |
| 152 | 156 | Loaded += PageContainer_Loaded; |
| 153 | 157 | } |
| 158 | 新增: | |
| 159 | 新增: private void NavigationService_LoadCompleted(object sender, NavigationEventArgs e) | |
| 160 | 新增: { | |
| 161 | 新增: animation.Begin(); | |
| 162 | 新增: } | |
| 163 | 新增: | |
| 154 | 164 | private void NavigationService_Navigated(object sender, NavigationEventArgs e) |
| 155 | 165 | { |
| 156 | 166 | Frame.NavigationService.RemoveBackEntry(); |
| @@ -313,5 +323,48 @@ namespace UI.Controls | ||
| 313 | 323 | DataContext = null; |
| 314 | 324 | Instance = null; |
| 315 | 325 | } |
| 326 | 新增: | |
| 327 | 新增: private Storyboard animation; | |
| 328 | 新增: private void CreateAnimations() | |
| 329 | 新增: { | |
| 330 | 新增: ClipToBounds = true; | |
| 331 | 新增: | |
| 332 | 新增: ScaleTransform scaleTransform = new ScaleTransform(); | |
| 333 | 新增: TranslateTransform translateTransform = new TranslateTransform(); | |
| 334 | 新增: | |
| 335 | 新增: TransformGroup tfg = new TransformGroup(); | |
| 336 | 新增: tfg.Children.Add(scaleTransform); | |
| 337 | 新增: tfg.Children.Add(translateTransform); | |
| 338 | 新增: RenderTransform = tfg; | |
| 339 | 新增: RenderTransformOrigin = new Point(.5, .5); | |
| 340 | 新增: | |
| 341 | 新增: animation = new Storyboard(); | |
| 342 | 新增: | |
| 343 | 新增: DoubleAnimation scrollAnimation = new DoubleAnimation(); | |
| 344 | 新增: scrollAnimation.From = 50; | |
| 345 | 新增: scrollAnimation.To = 0; | |
| 346 | 新增: scrollAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.14)); | |
| 347 | 新增: | |
| 348 | 新增: Storyboard.SetTarget(scrollAnimation, this); | |
| 349 | 新增: Storyboard.SetTargetProperty(scrollAnimation, new PropertyPath("RenderTransform.Children[1].Y")); | |
| 350 | 新增: animation.Children.Add(scrollAnimation); | |
| 351 | 新增: //DoubleAnimation scaleXAnimation = new DoubleAnimation(); | |
| 352 | 新增: //scaleXAnimation.From = .8; | |
| 353 | 新增: //scaleXAnimation.To = 1; | |
| 354 | 新增: //scaleXAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.14)); | |
| 355 | 新增: | |
| 356 | 新增: //DoubleAnimation scaleYAnimation = new DoubleAnimation(); | |
| 357 | 新增: //scaleYAnimation.From = .8; | |
| 358 | 新增: //scaleYAnimation.To = 1; | |
| 359 | 新增: //scaleYAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.14)); | |
| 360 | 新增: | |
| 361 | 新增: //Storyboard.SetTarget(scaleXAnimation, this); | |
| 362 | 新增: //Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("RenderTransform.Children[0].ScaleX")); | |
| 363 | 新增: //Storyboard.SetTarget(scaleYAnimation, this); | |
| 364 | 新增: //Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("RenderTransform.Children[0].ScaleY")); | |
| 365 | 新增: | |
| 366 | 新增: //animation.Children.Add(scaleXAnimation); | |
| 367 | 新增: //animation.Children.Add(scaleYAnimation); | |
| 368 | 新增: } | |
| 316 | 369 | } |
| 317 | 370 | } |

