CapgeminiSurface.ProjectItem.closeButton_ContactDown C# (CSharp) 메소드

closeButton_ContactDown() 개인적인 메소드

private closeButton_ContactDown ( object sender, ContactEventArgs e ) : void
sender object
e ContactEventArgs
리턴 void
        private void closeButton_ContactDown(object sender, ContactEventArgs e)
        {
            var content = DataContext as ContentItem;
            var image = sender as Image;

            //#Felo: get parent that's a scatterView
            var scatterView = GuiHelpers.GetParentObject<ScatterView>(image);
            if (scatterView != null)
            {
                var scatterSource = scatterView.ItemsSource as ObservableCollection<ContentItem>;

                //#Felo: get parent
                DependencyObject parent = LogicalTreeHelper.GetParent(scatterView);
                while (parent != null)
                {
                    Grid MainGrid = parent as Grid;

                    if (scatterSource != null && MainGrid != null)
                    {
                        //#Felo: get child of parent
                        var favItem = GuiHelpers.GetChildObject<FavouriteStack>(MainGrid);
                        if (favItem != null)
                        {
                            FavouriteStack favStack = favItem as FavouriteStack;
                            if (favStack != null)
                            {
                                favStack.AddInstancePropertyObject(content);
                            }
                        }
                    }
                    parent = LogicalTreeHelper.GetParent(parent);
                }
                scatterSource.Remove(content);
                return;
            }
        }