private void DirectoryTouchMove(object sender, TouchEventArgs e) { if (directory.IsDragging() && !selectedItemExists) { //clear the last song info selectedItem = new songInfo(); //get the song in the array that was selected selectedItem = directory.GetSelectedSong(); selected = new DirectoryListItem(385, 100, selectedItem); selected.Margin = new Thickness((int)e.TouchDevice.GetTouchPoint(this).Position.X - (385 / 2), (int)e.TouchDevice.GetTouchPoint(this).Position.Y - (100 / 2), 0, 0); selected.SetBackgroundImage(@"png/inforthekill.png"); selected.Width = 385; selected.Height = 100; if (!selectedItemExists) { //_canvas.Children.Add(selected); if (!dragDropInit) { // Initialize the drag & drop operation DataObject dragData = new DataObject("songInfo", selectedItem); DragDrop.DoDragDrop(selected, dragData, DragDropEffects.Move); } directory.ResetSelection(); } } }
private void Window_Loaded(object sender, RoutedEventArgs e) { channel1 = new ChannelControl(); channel1.Margin = new Thickness(0, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel1); channel2 = new ChannelControl(); channel2.Margin = new Thickness(SLIDER_WIDTH + SLIDER_PADDING, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel2); channel3 = new ChannelControl(); channel3.Margin = new Thickness(SLIDER_WIDTH * 2 + SLIDER_PADDING * 2, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel3); channel4 = new ChannelControl(); channel4.Margin = new Thickness(SLIDER_WIDTH * 3 + SLIDER_PADDING * 3, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel4); channel5 = new ChannelControl(); channel5.Margin = new Thickness(SLIDER_WIDTH * 4 + SLIDER_PADDING * 4, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel5); channel6 = new ChannelControl(); channel6.Margin = new Thickness(SLIDER_WIDTH * 5 + SLIDER_PADDING * 5, SLIDER_MARGIN_TOP, 0, 0); _canvas.Children.Add(channel6); deck1 = new DeckControl(); deck1.Margin = new Thickness(0, DECK_MARGIN_TOP, 0, 0); deck1.LoadSample("../../media/In For The Kill.mp3"); _canvas.Children.Add(deck1); deck2 = new DeckControl(); deck2.Margin = new Thickness(DECK_MARGIN_LEFT, DECK_MARGIN_TOP, 0, 0); deck2.LoadSample("../../media/Bad Romance.mp3"); _canvas.Children.Add(deck2); fader = new CrossfaderControl(ref deck1, ref deck2); fader.Margin = new Thickness(DECK_WIDTH, DECK_MARGIN_TOP, 0, 0); _canvas.Children.Add(fader); directory = new DirectoryList(385, 600); directory.Margin = new Thickness(DECK_MARGIN_LEFT + DECK_WIDTH, 0, 0, 0); directory.TouchDown += new EventHandler<TouchEventArgs>(DirectoryTouchDown); //directory.TouchUp += new EventHandler<TouchEventArgs>(DirectoryTouchUp); directory.TouchMove += new EventHandler<TouchEventArgs>(DirectoryTouchMove); _canvas.Children.Add(directory); selected = new DirectoryListItem(385, 100, new songInfo()); //selected.TouchMove += new EventHandler<TouchEventArgs>(SelectedTouchMove); //selected.TouchUp += new EventHandler<TouchEventArgs>(SelectedTouchUp); translate = new TranslateTransform(0, 0); trnsGrp = new TransformGroup(); trnsGrp.Children.Add(translate); selectedItemExists = false; dragDropInit = false; }
public DirectoryList(int width, int height) { this.Width = width; this.Height = height; _currentPosition = 0; _touchPoints = 0; _dir = new DirectoryClass("C:\\Users\\Administrator\\Documents\\Visual Studio 2010\\Projects\\WpfApplication1\\WpfApplication1\\media"); _numItems = _dir.GetFileCount(); _dirList = new DirectoryListItem[_numItems]; _dir.sortTitle(); for (int i = 0; i < _numItems; i++) { _dirList[i] = new DirectoryListItem(DIRECTORY_WIDTH, ITEM_HEIGHT, _dir.getSongInfo(i)); _dirList[i].Margin = new Thickness(0, ITEM_HEIGHT * i, 0, 0); _dirList[i].SetBackgroundImage(@"png/inforthekill.png"); _dirList[i].Width = 385; _dirList[i].Height = 100; this.Children.Add(_dirList[i]); } _translate = new TranslateTransform(0, 0); _transform = new TransformGroup(); _transform.Children.Add(_translate); this.ClipToBounds = true; _touchTimer = new System.Timers.Timer(200); _touchTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); _touchTimer.Interval = 500; }