Example #1
0
        private void CreateRegion(IAniRegion aniRegion)
        {
            AniRegion newRegion = Activator.CreateInstance(aniRegion.GetType()) as AniRegion;

            newRegion.OnSelectedControlChanged = (sender, e) =>
            {
                this.lstProperties.SelectedObject = e.SelectedControl;
            };
            newRegion.MouseDoubleClick += newRegion_MouseDoubleClick;

            newRegion.RegionName = string.Format("region{0}", this.tabRegions.Items.Count + 1);
            ScrollViewer scrollViewer = new ScrollViewer();

            scrollViewer.VerticalScrollBarVisibility   = ScrollBarVisibility.Auto;
            scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
            scrollViewer.Height  = this.tabRegions.Height;
            scrollViewer.Content = newRegion;
            TabItem tabItem = new TabItem();

            tabItem.Header  = newRegion.RegionName;
            tabItem.Content = scrollViewer;

            SetNewCreateRegionSize(newRegion);

            this.UserRegions.Insert(0, newRegion);
            CurrentProject.InsertRegion(0, newRegion);

            tabRegions.SelectedItem = tabItem;
            this.CurrentRegion      = newRegion;
        }
Example #2
0
        private void lstRegion_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            if (lstRegions.SelectedItems.Count < 1)
            {
                return;
            }

            Point  mousePos = e.GetPosition(null);
            Vector diff     = _StartRegionLstPoint - mousePos;

            if (e.LeftButton == MouseButtonState.Pressed &&
                (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                 Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)
                )
            {
                ListBox     listView     = sender as ListBox;
                ListBoxItem listViewItem = UiSearchHelper.FindAnchestor <ListBoxItem>((DependencyObject)e.OriginalSource);
                if (null == listViewItem)
                {
                    return;
                }

                IAniRegion aniRegion = (IAniRegion)listView.ItemContainerGenerator.
                                       ItemFromContainer(listViewItem);

                DataObject dragData = new DataObject(CommConst.DRAGED_REGION_DATA, aniRegion);
                DragDrop.DoDragDrop(lstControls, dragData, DragDropEffects.Move);
            }
        }
Example #3
0
 private void Grid_Drop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(CommConst.DRAGED_REGION_DATA))
     {
         IAniRegion aniRegion = e.Data.GetData(CommConst.DRAGED_REGION_DATA) as IAniRegion;
         CreateRegion(aniRegion);
     }
 }