private void TreeViewItemDrop(object sender, DragEventArgs e)
        {
            Grid item = sender as Grid;

            if (item != null)
            {
                var newStyleItemParent = ((StyleItemViewModel)e.Data.GetData(typeof(StyleItemViewModel))).StyleItem.Parent as StyleLayerListItem;
                if (newStyleItemParent != null)
                {
                    if (draggingItemParent != null)
                    {
                        draggingItemParent.UpdateConcreteObject();
                        var parentUI = draggingItemParent.GetUI(multiStyleBuilderViewModel.SelectedStyleBuilderViewModel.StyleArguments);
                        if (parentUI != null)
                        {
                            draggingItemParent.UpdateUI(parentUI);
                        }
                    }

                    if (newStyleItemParent != draggingItemParent)
                    {
                        newStyleItemParent.UpdateConcreteObject();
                        var parentUI = newStyleItemParent.GetUI(multiStyleBuilderViewModel.SelectedStyleBuilderViewModel.StyleArguments);
                        if (parentUI != null)
                        {
                            newStyleItemParent.UpdateUI(parentUI);
                        }
                    }

                    multiStyleBuilderViewModel.SelectedStyleBuilderViewModel.UpdatePreviewSource();
                }
            }
        }
 private void RefreshUI(StyleLayerListItem styleItem)
 {
     if (styleItem != null)
     {
         styleItem.UpdateConcreteObject();
         var styleItemUI = styleItem.GetUI(styleArguments);
         if (styleItemUI != null)
         {
             styleItem.UpdateUI(styleItemUI);
         }
     }
 }