public ErrorReportElement
 (
     PLCOriginInst _inst,
     LadderNetworkViewModel _lnvmodel,
     LadderDiagramViewModel _ldvmodel
 )
 {
     this.inst     = _inst;
     this.lnvmodel = _lnvmodel;
     this.ldvmodel = _ldvmodel;
 }
 public bool CursorDown()
 {
     if (insts == null)
     {
         return(false);
     }
     for (int rowid = Grid.GetRow(Cursor) + 1; rowid < insts.Count(); rowid++)
     {
         PLCOriginInst inst = insts[rowid];
         if (inst.ProtoType != null)
         {
             Grid.SetRow(Cursor, rowid);
             Cursor.Visibility = Visibility.Visible;
             return(true);
         }
     }
     return(false);
 }
 public bool CursorUp()
 {
     if (insts == null)
     {
         return(false);
     }
     for (int rowid = Grid.GetRow(Cursor) - 1; rowid >= 0; rowid--)
     {
         PLCOriginInst inst = insts[rowid];
         if (inst.ProtoType != null)
         {
             Grid.SetRow(Cursor, rowid);
             Cursor.Visibility = Visibility.Visible;
             return(true);
         }
     }
     return(false);
 }
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            base.OnMouseLeftButtonDown(e);
            Point p     = e.GetPosition(this);
            int   rowid = (int)((p.Y - 20) / 20);
            int   colid = (int)((p.X - 40) / 80) + 1;

            if (insts == null)
            {
                return;
            }
            if (rowid >= 0 && rowid < insts.Count() &&
                colid >= 1 && colid <= 6)
            {
                PLCOriginInst inst = insts[rowid];
                if (inst.ProtoType == null)
                {
                    return;
                }
                Grid.SetRow(Cursor, rowid);
                Cursor.Visibility = Visibility.Visible;
                CursorChanged(this, new RoutedEventArgs());
            }
        }