public MonitorControl ShowElement(t_Element obj, ElementSate eleStae, List<t_ElementProperty> listObj) { Canvas canvas = csScreen; try { if (obj.ImageURL != null && obj.ImageURL.IndexOf("MonitorSystem") == 0) { MonitorControl instance = (MonitorControl)Activator.CreateInstance(Type.GetType(obj.ImageURL)); SetEletemt(canvas, instance, obj, eleStae, listObj); return instance; } else { switch (obj.ElementName) { case "MyButton": TP_Button mtpButtom = new TP_Button(); SetEletemt(canvas, mtpButtom, obj, eleStae, listObj); return mtpButtom; break; case "MonitorLine": MonitorLine mPubLine = new MonitorLine(); SetEletemt(canvas, mPubLine, obj, eleStae, listObj); return mPubLine; //break; case "MonitorText": MonitorText mPubText = new MonitorText(); mPubText.MyText = obj.TxtInfo; SetEletemt(canvas, mPubText, obj, eleStae, listObj); return mPubText; //break; case "ColorText": ColorText mColorText = new ColorText(); SetEletemt(canvas, mColorText, obj, eleStae, listObj); return mColorText; //break; case "InputTextBox": InputTextBox mInputTextBox = new InputTextBox(); mInputTextBox.MyText = obj.TxtInfo; SetEletemt(canvas, mInputTextBox, obj, eleStae, listObj); return mInputTextBox; //break; case "ButtonCtrl": ButtonCtrl mButtonCtrl = new ButtonCtrl(); mButtonCtrl.MyText = obj.TxtInfo; SetEletemt(canvas, mButtonCtrl, obj, eleStae, listObj); return mButtonCtrl; //break; case "MonitorCur": MonitorCur mPubCur = new MonitorCur(); SetEletemt(canvas, mPubCur, obj, eleStae, listObj); return mPubCur; //break; case "MonitorRectangle": MonitorRectangle mPubRec = new MonitorRectangle(); SetEletemt(canvas, mPubRec, obj, eleStae, listObj); return mPubRec; //break; case "MonitorGrid": MonitorGrid mPubGrid = new MonitorGrid(); SetEletemt(canvas, mPubGrid, obj, eleStae, listObj); return mPubGrid; //break; case "FoldLine": MonitorFoldLine mPubFoldLine = new MonitorFoldLine(); SetEletemt(canvas, mPubFoldLine, obj, eleStae, listObj); return mPubFoldLine; //break; case "Temprary": Temprary mTemprary = new Temprary(); SetEletemt(canvas, mTemprary, obj, eleStae, listObj); return mTemprary; case "DLBiaoPan": DLBiaoPan mDLBiaoPan = new DLBiaoPan(); obj.Width = 2 * obj.Height.Value; SetEletemt(canvas, mDLBiaoPan, obj, eleStae, listObj); return mDLBiaoPan; case "DigitalBiaoPan": DigitalBiaoPan mDigitalBiaoPan = new DigitalBiaoPan(); SetEletemt(canvas, mDigitalBiaoPan, obj, eleStae, listObj); return mDigitalBiaoPan; case "Switch": Switch mSwitch = new Switch(); SetEletemt(canvas, mSwitch, obj, eleStae, listObj); return mSwitch; case "SignalSwitch": SignalSwitch mSignalSwitch = new SignalSwitch(); obj.Width = obj.Height; SetEletemt(canvas, mSignalSwitch, obj, eleStae, listObj); return mSignalSwitch; case "DetailSwitch": DetailSwitch mDetailSwitch = new DetailSwitch(); SetEletemt(canvas, mDetailSwitch, obj, eleStae, listObj); return mDetailSwitch; case "RealTimeCurve": RealTimeCurve mRealTime = new RealTimeCurve(); SetEletemt(canvas, mRealTime, obj, eleStae, listObj); return mRealTime; case "TableCtrl": TableCtrl mTableCtrl = new TableCtrl(); SetEletemt(canvas, mTableCtrl, obj, eleStae, listObj); return mTableCtrl; case "zedGraphCtrl": zedGraphCtrl mzedGraphCtrl = new zedGraphCtrl(); SetEletemt(canvas, mzedGraphCtrl, obj, eleStae, listObj); return mzedGraphCtrl; case "zedGraphLineCtrl": zedGraphLineCtrl mzedGraphLineCtrl = new zedGraphLineCtrl(); SetEletemt(canvas, mzedGraphLineCtrl, obj, eleStae, listObj); return mzedGraphLineCtrl; case "zedGraphPieCtrl": zedGraphPieCtrl mzedGraphPieCtrl = new zedGraphPieCtrl(); SetEletemt(canvas, mzedGraphPieCtrl, obj, eleStae, listObj); return mzedGraphPieCtrl; case "MyLine"://曲线 MyLine mMyLine = new MyLine(); SetEletemt(canvas, mMyLine, obj, eleStae, listObj); return mMyLine; case "BackgroundRect"://背景 BackgroundRect mBackgroundRect = new BackgroundRect(); SetEletemt(canvas, mBackgroundRect, obj, eleStae, listObj); return mBackgroundRect; case "PicBox"://窗口式背景控件 PicBox mPicBox = new PicBox(); SetEletemt(canvas, mPicBox, obj, eleStae, listObj); return mPicBox; case "DrawLine"://窗口式背景控件 DrawLine mDrawLine = new DrawLine(); SetEletemt(canvas, mDrawLine, obj, eleStae, listObj); return mDrawLine; case "ExtProControl"://窗口式背景控件 ExtProControl mExtProControl = new ExtProControl(); SetEletemt(canvas, mExtProControl, obj, eleStae, listObj); return mExtProControl; case "DimorphismGraphCtrl"://窗口式背景控件 DimorphismGraphCtrl mDimorphismGraphCtrl = new DimorphismGraphCtrl(); SetEletemt(canvas, mDimorphismGraphCtrl, obj, eleStae, listObj); return mDimorphismGraphCtrl; case "BackgroundControl": BackgroundControl backgroundControl = new BackgroundControl(); SetEletemt(canvas, backgroundControl, obj, eleStae, listObj); var childElements = new ElementDA().SelectBy(obj.ElementID, "Background"); ShowElements(childElements, backgroundControl.BackgroundCanvas, backgroundControl); return backgroundControl; default: string url = string.Format("/WPFMonitor;component/Resources/Images/ControlsImg/{0}", obj.ImageURL); BitmapImage bitmap = new BitmapImage(new Uri(url, UriKind.Relative)); ImageSource mm = bitmap; TP mtp = new TP(); mtp.Source = mm; SetEletemt(canvas, mtp, obj, eleStae, listObj); return mtp; //break; } } } catch { return null; } }
protected override void OnMouseEnter(MouseEventArgs e) { if (!IsToolTip && !IsDesignMode) { if (!IsToolTipLoaded) { if (null == ToolTipControl && null != _ScreenElement) { IsToolTipLoaded = true; var parentID = _ScreenElement.ElementID; //LoadScreen._DataContext.Load<t_Element>(LoadScreen._DataContext.GetT_ElementsByScreenIDQuery(screenID), LoadToolTipCallback, null); var toolTipControlElement = new ElementDA().GetBy(-9999, parentID, "ToolTip"); if (null != toolTipControlElement && Parent is Canvas) { var parent = Parent as Canvas; ToolTipControl = new ToolTipControl(this); ToolTipControl.Width = toolTipControlElement.Width.HasValue ? toolTipControlElement.Width.Value : 300d; ToolTipControl.Height = toolTipControlElement.Height.HasValue ? toolTipControlElement.Height.Value : 200d; ToolTipControl.Transparent = 100; ToolTipControl.SetValue(Canvas.ZIndexProperty, 10000); ToolTipControl.ScreenElement = toolTipControlElement; ToolTipControl.ListElementProp = ElementPropertyDA.SelectByElementID(toolTipControlElement.ElementID); ToolTipControl.ElementState = ElementSate.Save; ToolTipControl.SetPropertyValue(); ToolTipControl.SetCommonPropertyValue(); parent.Children.Add(ToolTipControl); SetToolTipPosition(); var childElements = new ElementDA().SelectByParentId(parentID); if (ToolTipControl.ListAllElement == null) { ToolTipControl.ListAllElement = new List<t_Element>(); } foreach (var childElement in childElements) { var poperties = ElementPropertyDA.SelectByElementID(childElement.ElementID); OnLoadElement(ToolTipControl.ToolTipCanvas, childElement, ElementSate.Save, poperties); ToolTipControl.ListAllElement.Add(childElement); } } } } else { SetToolTipPosition(); } } base.OnMouseEnter(e); }