using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.MachineStudio.RML.ViewModels; using Tango.BL.Entities; using Tango.DragAndDrop; namespace Tango.MachineStudio.RML.Views { /// /// Interaction logic for ProcessParametersView.xaml /// public partial class ProcessParametersView : UserControl { private MainViewVM _vm; public DraggingSurface DraggingSurface { get { return (DraggingSurface)GetValue(DraggingSurfaceProperty); } set { SetValue(DraggingSurfaceProperty, value); } } public static readonly DependencyProperty DraggingSurfaceProperty = DependencyProperty.Register("DraggingSurface", typeof(DraggingSurface), typeof(ProcessParametersView), new PropertyMetadata(null)); public double WidthLilquidFactors { get { return (double )GetValue(WidthLilquidFactorsProperty); } set { SetValue(WidthLilquidFactorsProperty, value); } } // Using a DependencyProperty as the backing store for WidthLilquidFactors. This enables animation, styling, binding, etc... public static readonly DependencyProperty WidthLilquidFactorsProperty = DependencyProperty.Register("WidthLilquidFactors", typeof(double ), typeof(ProcessParametersView), new PropertyMetadata(null)); public ProcessParametersView() { InitializeComponent(); DraggingSurface = draggingSurface; Loaded += (_, __) => { _vm = DataContext as MainViewVM; }; } private void OnProcessTableDropped(object sender, DropEventArgs e) { ProcessParametersTable dragged = e.Draggable.DataContext as ProcessParametersTable; ProcessParametersTable dropped = e.Droppable.DataContext as ProcessParametersTable; _vm.OnProcessParametersTableDropped(dragged, dropped); } } }