public static PlcVariableViewModel CreateVM(IOnVariableChanged varChangeObj, string varName) { object obj = varChangeObj.GetValue(); PlcVariableViewModel pvvm = null; if (obj is bool) { pvvm = new PlcBoolVariableViewModel(varChangeObj, varName); } if (obj is Int16) { pvvm = new PlcInt16VariableViewModel(varChangeObj, varName); } if (obj is Byte) { pvvm = new PlcByteVariableViewModel(varChangeObj, varName); } if (obj is UInt16) { pvvm = new PlcUInt16VariableViewModel(varChangeObj, varName); } if (obj is UInt32) { pvvm = new PlcUInt32VariableViewModel(varChangeObj, varName); } if (obj is string) { pvvm = new PlcStringVariableViewModel(varChangeObj, varName); } if (pvvm == null) { pvvm = new PlcVariableViewModel(varChangeObj, varName); } return(pvvm); }
/// <summary> /// Reakce na klik myší. Levé tlačítko změní zobrazení, praé uloží hodnotu do schránky /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Grid_PreviewMouseDown(object sender, MouseButtonEventArgs e) { PlcVariableViewModel pvvm = ((FrameworkElement)sender).DataContext as PlcVariableViewModel; if (e.LeftButton == MouseButtonState.Pressed) { pvvm.MouseDownHandler(); } else { Clipboard.SetDataObject(pvvm.Hodnota); } }