Exemplo n.º 1
0
        private void DrawLine(MDF_ConnectItemModel from, MDF_ConnectItemModel to)
        {
            if (from == null || to == null)
            {
                return;
            }

            MDF_Line line = CreateLine(new MDF_ConnectLineModel()
            {
                From = from.Key, To = to.Key
            });

            if (line == null)
            {
                return;
            }
            ComputeLineInfo(line);
            if (LineSource == null)
            {
                LineSource = new ObservableCollection <MDF_ConnectLineModel>();
            }
            LineSource.Add(line.DataContext as MDF_ConnectLineModel);
            SelectedItem = null;
            this.UpdateLayout();
        }
Exemplo n.º 2
0
 private void ChangeSelectedDraw(MDF_ConnectItemModel to, MDF_ConnectItemModel from)
 {
     if (AllowDraw)
     {
         DrawLine(from, to);
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// 根据下标添加Grid
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 private Grid CreateGrid(MDF_ConnectItemModel item)
 {
     if (!m_dicgrid.ContainsKey(item.RealColumnIndex))
     {
         gridMain.ColumnDefinitions.Add(new ColumnDefinition());
         Grid grd = new Grid();
         grd.SetBinding(Grid.ColumnProperty, new Binding()
         {
             Source = item, Path = new PropertyPath("RealColumnIndex")
         });
         m_dicgrid.Add(item.RealColumnIndex, grd);
         gridMain.Children.Add(grd);
     }
     return(m_dicgrid[item.RealColumnIndex]);
 }
Exemplo n.º 4
0
        private void AddItem(MDF_ConnectItemModel item)
        {
            if (item == null)
            {
                return;
            }

            if (m_dicitem.ContainsKey(item.Key))
            {
                return;
            }

            Grid grd = CreateGrid(item);

            grd.RowDefinitions.Add(new RowDefinition());

            ConnectItem citem = new ConnectItem();

            citem.SetBinding(ConnectItem.StyleProperty, new Binding()
            {
                Source = this, Path = new PropertyPath("ConnectItemStyle")
            });
            citem.SetBinding(Grid.RowProperty, new Binding()
            {
                Source = item, Path = new PropertyPath("RealRowIndex")
            });

            citem.DataContext = item;

            if (citem.Height < 20 || double.IsNaN(citem.Height))
            {
                citem.Height = 20;
            }
            if (citem.Width < 20 || double.IsNaN(citem.Width))
            {
                citem.Width = 20;
            }

            m_dicitem.Add(item.Key, citem);
            grd.Children.Add(citem);

            citem.ItemChecked += citem_ItemChecked;
        }
Exemplo n.º 5
0
        private void SetItemSelected(MDF_ConnectItemModel model, MDF_ConnectItemModel oldmodel)
        {
            if (oldmodel != null)
            {
                if (m_dicitem.ContainsKey(oldmodel.Key))
                {
                    m_dicitem[oldmodel.Key].Checked = false;
                }
            }
            if (model == null)
            {
                return;
            }

            if (!m_dicitem.ContainsKey(model.Key))
            {
                return;
            }

            m_dicitem[model.Key].Checked = true;
        }