Пример #1
0
        private void showTarget()
        {
            if (Target == null)
            {
                return;
            }

            Target.RemoveAll(it => it.ColumnName.ToUpper() == "FID" || it.ColumnName.ToUpper() == "PROJECTID");

            for (int i = 0; i < Target.Count; i++)
            {
                ColumnTargetItem item = new ColumnTargetItem();
                item.ColumnName  = Target[i].ColumnName;
                item.ColumnValue = Target[i].Comments;
                item.DataType    = Target[i].DataType;
                item.NullAble    = Target[i].NullAble;
                item.cbpk.Click += cbpk_Click;
                item.Index       = i;


                if (_businessPk.Contains(item.ColumnName))
                {
                    item.cbpk.IsChecked = true;
                }

                Canvas.SetTop(item, 30 * i);
                Canvas.SetLeft(item, 554);

                root.Children.Add(item);

                targetItemList.Add(item);
            }
        }
Пример #2
0
        private void ColumnTargetItem_MouseUp(object sender, MouseButtonEventArgs e)
        {
            targetItem  = sender as ColumnTargetItem;
            tempLine.X2 = getEndLocation().Width;
            tempLine.Y2 = getEndLocation().Height;

            sourceItem = null;
            targetItem = null;
            tempLine   = null;
        }
Пример #3
0
        private void root_MouseUp(object sender, MouseButtonEventArgs e)
        {
            var p = e.GetPosition(root);

            // 已选中项,红框显示,无法形成链接
            VisualTreeHelper.HitTest(root, null, f =>
            {
                var element = f.VisualHit;

                if (element is Border)
                {
                    object tag = ((Border)element).Tag;
                    if (tag != null)
                    {
                        string columnName = tag.ToString();

                        var target = targetItemList.FirstOrDefault(item => item.ColumnName == columnName);

                        if (target != null && sourceItem != null)
                        {
                            targetItem = target;

                            if (!ColumnMap.ContainsKey(targetItem.ColumnName))
                            {
                                drawLine(sourceItem.ColumnName, targetItem.ColumnName);
                                ColumnMap.Add(targetItem.ColumnName, sourceItem.ColumnName);

                                targetItem.ColumnValue = sourceItem.ColumnName;

                                TableDAL.Comment(TableName, targetItem.ColumnName, sourceItem.ColumnName);
                            }
                        }
                    }
                }

                return(HitTestResultBehavior.Continue);
            }, new PointHitTestParameters(p));
            // 未选中项,记录选中项,画线
            root.ReleaseMouseCapture();

            root.Children.Remove(tempLine);
            tempLine   = null;
            sourceItem = null;
        }