示例#1
0
        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;

            }
        }
示例#2
0
 public LineGraph CreateLineGraph(List<TimeSeries> ts)
 {
     var lvm = new LineGraphViewModel(ts);
     var graph = new LineGraph(lvm);
     graph.Update();
     return graph;
 }