コード例 #1
0
        public void CreateItems(IEnumerable<object> items)
        {
            ApplyTemplate();
            _annimationItems.Clear();
            _layoutRoot.Children.Clear();
            _layoutRoot.RowDefinitions.Clear();
            Resources.Clear();
            var rowNumber = 0;

            foreach (var item in items)
            {
                var rowDefinition = new RowDefinition();
                _layoutRoot.RowDefinitions.Add(rowDefinition);

                var uniformItem = CreateUniformItem(item, rowNumber);
                uniformItem.Name = string.Format("Item{0}", rowNumber);
                _layoutRoot.Children.Add(uniformItem);

                var scaleTransform = new ScaleTransform
                    {
                        ScaleX = 1
                        , ScaleY = 1
                    };

                uniformItem.RenderTransform = scaleTransform;
                uniformItem.RenderTransformOrigin = new Point(.5, .5);

                uniformItem.SetValue(Grid.RowProperty, rowNumber);

                var growStoryboard = new Storyboard();
                growStoryboard.Completed += GrowStoryboardCompleted;

                var fadeInAnnimation = new DoubleAnimation
                    {
                        From = 0,
                        To = 1,
                        Duration = new Duration(TimeSpan.FromMilliseconds(200))
                    };
                Storyboard.SetTargetName(fadeInAnnimation, uniformItem.Name);
                Storyboard.SetTargetProperty(fadeInAnnimation, new PropertyPath(OpacityProperty));
                growStoryboard.Children.Add(fadeInAnnimation);

                var growAnnimation = new DoubleAnimation
                {
                    From = 0,
                    To = 1,
                    Duration = TimeSpan.FromMilliseconds(200)
                };
                Storyboard.SetTargetName(growAnnimation, uniformItem.Name);
                Storyboard.SetTargetProperty(growAnnimation, new PropertyPath("UniformItem.RenderTransform.ScaleTransform.ScaleY"));

                growStoryboard.Children.Add(growAnnimation);

                Resources.Add(string.Format("GrowStoryboard{0}", rowNumber), growStoryboard);

                var annimationHelper = new AnnimationHelper(
                    rowDefinition
                    , uniformItem
                    , growStoryboard);

                _annimationItems.Add(item, annimationHelper);

                rowNumber++;
            }
        }
コード例 #2
0
        public void CreateItems(IEnumerable <object> items)
        {
            ApplyTemplate();
            _annimationItems.Clear();
            _layoutRoot.Children.Clear();
            _layoutRoot.RowDefinitions.Clear();
            Resources.Clear();
            var rowNumber = 0;

            foreach (var item in items)
            {
                var rowDefinition = new RowDefinition();
                _layoutRoot.RowDefinitions.Add(rowDefinition);

                var uniformItem = CreateUniformItem(item, rowNumber);
                uniformItem.Name = string.Format("Item{0}", rowNumber);
                _layoutRoot.Children.Add(uniformItem);

                var scaleTransform = new ScaleTransform
                {
                    ScaleX   = 1
                    , ScaleY = 1
                };

                uniformItem.RenderTransform       = scaleTransform;
                uniformItem.RenderTransformOrigin = new Point(.5, .5);

                uniformItem.SetValue(Grid.RowProperty, rowNumber);

                var growStoryboard = new Storyboard();
                growStoryboard.Completed += GrowStoryboardCompleted;

                var fadeInAnnimation = new DoubleAnimation
                {
                    From     = 0,
                    To       = 1,
                    Duration = new Duration(TimeSpan.FromMilliseconds(200))
                };
                Storyboard.SetTargetName(fadeInAnnimation, uniformItem.Name);
                Storyboard.SetTargetProperty(fadeInAnnimation, new PropertyPath(OpacityProperty));
                growStoryboard.Children.Add(fadeInAnnimation);

                var growAnnimation = new DoubleAnimation
                {
                    From     = 0,
                    To       = 1,
                    Duration = TimeSpan.FromMilliseconds(200)
                };
                Storyboard.SetTargetName(growAnnimation, uniformItem.Name);
                Storyboard.SetTargetProperty(growAnnimation, new PropertyPath("UniformItem.RenderTransform.ScaleTransform.ScaleY"));

                growStoryboard.Children.Add(growAnnimation);

                Resources.Add(string.Format("GrowStoryboard{0}", rowNumber), growStoryboard);

                var annimationHelper = new AnnimationHelper(
                    rowDefinition
                    , uniformItem
                    , growStoryboard);

                _annimationItems.Add(item, annimationHelper);

                rowNumber++;
            }
        }