public ucFloorCM GetCMObject(string cmCode) { ucFloorCM returnCM = null; IEnumerable <ucFloorCM> cmList = null; cmList = cmPanel.Children.OfType <ucFloorCM>(); returnCM = cmList.Where(a => a.MachineCode == cmCode).First() as ucFloorCM; return(returnCM); }
//public void TranslateCM(ucFloorCM objCM) //{ // if (objOPCServerDirector == null) objOPCServerDirector = new OPCServerDirector(); // int pos = 0; // if (objOPCServerDirector.IsMachineQualityHealthy(objCM.MachineChannel + "." + // objCM.MachineCode + "." + OpcTags.CM_Position_for_L2) == OPCDA.qualityBits.good) // pos = objOPCServerDirector.ReadTag<Int16>(objCM.MachineChannel + "." + objCM.MachineCode + "." + OpcTags.CM_Position_for_L2); // if (pos != 0) // { // objCM.Dispatcher.BeginInvoke(new Action(() => // { // TranslateCMPosition(objCM, pos); // })); // } //} public void TranslateCMPosition(ucFloorCM objCM, int position) { float aspectRatio = 0; aspectRatio = Math.Abs(objCM.MinXValue - objCM.MaxXValue) / Math.Abs(objCM.MinValue - objCM.MaxValue); TransformGroup tg = objCM.RenderTransform as TransformGroup; TranslateTransform rt = tg.Children[3] as TranslateTransform; // rt.X = Math.Abs(position - objCM.MinValue) * aspectRatio; rt.X = (position - objCM.MinValue) * aspectRatio; }
public void SetCMPosition(string cmCode, int position) { ucFloorCM objCM = GetCMObject(cmCode); TranslateCMPosition(objCM, position); }