private async void OnPressed(object o, PointerRoutedEventArgs args) { if (args.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Pen) return; _qbs.Clear(); foreach (var q in _mainpage.MainCanvas.Children.Where(c => c is QueryBoxView)) { _qbs.Add((QueryBoxView)q); } if (!_inqCanvasPressed && args.OriginalSource is InqCanvas) { _inqCanvasPressed = true; } var pressedItem = (FrameworkElement)args.OriginalSource; if (_inqCanvasPressed && pressedItem.DataContext is QueryBoxListItemViewModel) { _pressedItem = pressedItem; _mainpage.PointerMoved += OnManipulationDelta; _pressedPointerId = args.Pointer.PointerId; foreach (var queryBoxView in _qbs) { queryBoxView.IsBlocked = true; } var vm = (QueryBoxListItemViewModel)_pressedItem.DataContext; _graph = Controller.Instance.CreateLineGraph(new List<TimeSeries> {vm.TimeSeriesModel}); _mainpage.MainCanvas.Children.Add(_graph); RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.RenderAsync(_graph, (int)_graph.ActualWidth, (int)_graph.ActualHeight); // _draggedItem.Background = new SolidColorBrush(Colors.Black); if (!_mainpage.MainCanvas.Children.Contains(_draggedItem)) _mainpage.MainCanvas.Children.Add(_draggedItem); _draggedItem.Opacity = 0.5; _draggedItem.Source = renderTargetBitmap; } }
public LineGraph CreateLineGraph(List<TimeSeries> ts) { var lvm = new LineGraphViewModel(ts); var graph = new LineGraph(lvm); graph.Update(); return graph; }