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++; } }
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++; } }