Пример #1
0
        public override void OnApplyTemplate()
        {
            if (_button != null)
            {
                _button.Click -= OnClick;
            }

            base.OnApplyTemplate();

            _root = MoreVisualTreeExtensions.FindFirstChildOfType <Grid>(this);
            if (null == _root)
            {
                throw new NotSupportedException("Must include a Grid for manipulating.");
            }

            _button = GetTemplateChild("_button") as Button;
            if (_button != null)
            {
                _button.Click += OnClick;
            }

            TransformAnimator.EnsureAnimator(_root, ref _ta);
            OpacityAnimator.EnsureAnimator(_root, ref _oa);
            if (_oa != null)
            {
                _root.Opacity = 0;
                _oa.GoTo(1.0, new Duration(TimeSpan.FromSeconds(.5)));
            }
        }
Пример #2
0
 public void ApplyTemplate(DataTemplate template, bool animateIn)
 {
     if (Presenter != null)
     {
         Presenter.ContentTemplate = template;
         if (animateIn)
         {
             Presenter.Opacity = 0;
             OpacityAnimator oa = null;
             OpacityAnimator.EnsureAnimator(Presenter, ref oa);
             if (oa != null)
             {
                 oa.GoTo(1.0, new Duration(TimeSpan.FromSeconds(.75)));
             }
         }
         Presenter.Content = Content;
         _shown            = true;
     }
 }
        private static void HandleCompletion(PendingCompletion pendingCompletion)
        {
            // fadeClear, clearFade, clear, fadeRemoveSiblings are all specific
            // side effects that met my needs when building 4th & Mayor. At
            // this time I'm keeping these around.

            var bitmap = new BitmapImage();

            try
            {
                bitmap.SetSource(pendingCompletion.Stream);
                pendingCompletion.Image.Source = bitmap;
                var tag = pendingCompletion.Image.Tag as string;

                if (tag != null && tag == "clear")
                {
                    var img = pendingCompletion.Image;
                    ClearParentBackground(img);
                }
                else if (tag != null && (tag == "fadeClear" || tag == "clearFade"))
                {
                    var             img = pendingCompletion.Image;
                    OpacityAnimator oa  = null;
                    OpacityAnimator.EnsureAnimator(img, ref oa);
                    if (img != null)
                    {
                        img.Opacity = 0;
                        oa.GoTo(1.0, new Duration(TimeSpan.FromSeconds(1)), () =>
                        {
                            ClearParentBackground(img);
                            oa = null;
                        });
                    }
                }
                else if (tag != null && tag == "fadeRemoveSiblings")
                {
                    // Specialized for badge display.
                    var             img = pendingCompletion.Image;
                    OpacityAnimator oa  = null;
                    OpacityAnimator.EnsureAnimator(img, ref oa);
                    if (img != null)
                    {
                        img.Opacity = 0;
                        oa.GoTo(1.0, new Duration(TimeSpan.FromSeconds(1)), () =>
                        {
                            ClearNonImageSiblings(img);
                            oa = null;
                        });
                    }
                }
            }
            catch (Exception)
            {
                // Ignore image decode exceptions (ex: invalid image)
                // TODO: Consider what to do here.
                //QuietWatson.ReportException(ex);
            }
            finally
            {
                // Dispose of response stream
                if (pendingCompletion.Stream != null)
                {
                    pendingCompletion.Stream.Dispose();
                }
            }
        }