示例#1
0
        public static void UpdateChildLayoutData(ContentControl item)
        {
            switch (item.Tag as string)
            {
            case "Text":
                MyText myText = item as MyText;
                myText.updateLayoutDate();
                break;

            case "Image":
                MyImage myImage = item as MyImage;
                myImage.updateLayoutDate();
                break;

            case "Media":
                MyMedia myMedia = item as MyMedia;
                myMedia.updateLayoutDate();
                break;

            case "Office":
                MyOffice myOffice = item as MyOffice;
                myOffice.updateLayoutDate();
                break;
            }
        }
示例#2
0
        public static void setControlSource(MyBaseControl currentControl, String content)
        {
            string tag = currentControl.Tag as string;

            switch (tag)
            {
            case "Text":
                MyText myText = currentControl as MyText;
                myText.setContentSource(content);
                break;

            case "Image":
                MyImage myImage = currentControl as MyImage;
                myImage.setContentSource(content);
                break;

            case "Media":
                MyMedia myMedia = currentControl as MyMedia;
                myMedia.setContentSource(content);
                break;

            case "Office":
                MyOffice myOffice = currentControl as MyOffice;
                myOffice.setContentSource(content);
                break;
            }
        }
示例#3
0
        private void Play_On_Net_Button_Click(object sender, RoutedEventArgs e)
        {
            MyMediaPlayer.Source = MediaSource.CreateFromUri(new Uri("http://www.neu.edu.cn/indexsource/neusong.mp3"));

            MyMedia.SetMediaPlayer(MyMediaPlayer);
            MyMediaPlayer.Play();
        }
示例#4
0
        public static void SetAttrTree(MyBaseControl myBaseControl, MainWindow window)
        {
            window.currentControl = myBaseControl;
            string tag = myBaseControl.Tag as string;

            window.ControlAttrTree.Visibility = System.Windows.Visibility.Visible;
            switch (tag)
            {
            case "Text":
                MyText myText = myBaseControl as MyText;
                showTextAttrGird(myText, window);
                break;

            case "Image":
                MyImage myImage = myBaseControl as MyImage;
                showImageAttrGrid(myImage, window);
                break;

            case "Media":
                MyMedia myMedia = myBaseControl as MyMedia;
                showMediaAttrGrid(myMedia, window);
                break;

            case "Office":
                MyOffice myOffice = myBaseControl as MyOffice;
                showOfficeAttrGrid(myOffice, window);
                break;
            }
        }
示例#5
0
        private void PlaySongButton_Click(object sender, RoutedEventArgs e)
        {
            if (_songPlaying)
            {
                PlaySongButton.Content = PlaySongText;
                MyMedia.Pause();
            }
            else
            {
                // Check if background music is playing (this is an certification app requirement)
                if (!MediaPlayer.GameHasControl)
                {
                    FrameworkDispatcher.Update();

                    var result = MessageBox.Show("Background music is  playing, are you sure you want to play this song?  It will stop the music?", "Music Playing", MessageBoxButton.OKCancel);
                    if (result == MessageBoxResult.Cancel)
                    {
                        return;
                    }
                }

                if (!_songInitialized)
                {
                    MyMedia.AutoPlay = true;
                    if (songData._playFromURI)
                    {
                        // make sure we have a valid URI
                        Uri dataUri = null;
                        try
                        {
                            dataUri = new Uri(UriTextBox.Text);
                        }
                        catch (Exception)
                        {
                            StatusTextBlock.Text = "I'm sorry something is wrong with the URI";
                            return;
                        }
                        // Turn auto play on
                        MyMedia.Source = dataUri;
                    }
                    else
                    {
                        using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
                        {
                            using (Stream isoStream = storage.OpenFile(songData._songFileName, FileMode.Open))
                            {
                                MyMedia.SetSource(isoStream);
                            }
                        }
                    }
                    _songInitialized = true;
                }

                PlaySongButton.Content = PauseSongText;
                MyMedia.Play();
            }
            _songPlaying = !_songPlaying;
        }
示例#6
0
        private async void Img_Tapped(object sender, TappedRoutedEventArgs e)
        {
            // System.Uri Mediauri = new System.Uri(TextBoxURLPath.Text);
            var Mediauri = await YouTube.GetVideoUriAsync(YoutubeId, YouTubeQuality.NotAvailable);


            MyMedia.Source = Mediauri.Uri;
            MyMedia.Play();
        }
示例#7
0
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox comboBox = sender as ComboBox;

            if (!IsLoaded || !comboBox.IsDropDownOpen)
            {
                return;
            }
            //if (!comboBox.IsFocused) return;
            string tag   = comboBox.Tag as string;
            int    index = comboBox.SelectedIndex;

            switch (tag)
            {
            case "ImageSwitch":
                this.myContainer.setSceneSwitch("ImageSwitch", index);
                break;

            case "SceneColor":
                this.myContainer.setSceneSwitch("SceneColor", index);
                break;

            case "ImageModel":
                if (currentControl != null)
                {
                    MyImage myImage = currentControl as MyImage;
                    myImage.setImageModel(index);
                }
                break;

            case "MediaModel":
                if (currentControl != null)
                {
                    MyMedia myMedia = currentControl as MyMedia;
                    myMedia.setMediaModel(index);
                }
                break;

            case "TextBackground":
                if (currentControl != null)
                {
                    MyText myText = currentControl as MyText;
                    myText.setTextChildAttr(Convert.ToInt32(this.TextSize.Text), this.TextColor.SelectedIndex, this.TextBackground.SelectedIndex);
                }
                break;

            case "TextColor":
                if (currentControl != null)
                {
                    MyText myText = currentControl as MyText;
                    myText.setTextChildAttr(Convert.ToInt32(this.TextSize.Text), this.TextColor.SelectedIndex, this.TextBackground.SelectedIndex);
                }
                break;
            }
        }
示例#8
0
        private async void loadButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile LoadFile = await Load();

            if (LoadFile != null)
            {
                var mediaSource = MediaSource.CreateFromStorageFile(LoadFile);
                MyMediaPlayer.Source = mediaSource;
                MyMedia.SetMediaPlayer(MyMediaPlayer);
                MyMediaPlayer.Play();
            }
        }
示例#9
0
        private static void createChild(XmlNode canvas, MyContainer myContainer)
        {
            int count = canvas.ChildNodes.Count;

            for (int i = 0; i < count; i++)
            {
                LayoutData layoutData = new LayoutData();
                XmlNode    element    = canvas.ChildNodes.Item(i);
                layoutData.textBackground  = Convert.ToInt32(element.Attributes[14].Value);
                layoutData.textColor       = Convert.ToInt32(element.Attributes[13].Value);
                layoutData.textSize        = Convert.ToInt32(element.Attributes[12].Value);
                layoutData.backgroundColor = Convert.ToInt32(element.Attributes[11].Value);
                layoutData.sceneTime       = Convert.ToInt32(element.Attributes[10].Value);
                layoutData.stretchModel    = Convert.ToInt32(element.Attributes[9].Value);
                layoutData.imageSwitch     = Convert.ToInt32(element.Attributes[8].Value);
                layoutData.canvasTop       = double.Parse(element.Attributes[7].Value);
                layoutData.canvasLeft      = double.Parse(element.Attributes[6].Value);
                layoutData.text            = element.Attributes[5].Value;
                layoutData.angle           = double.Parse(element.Attributes[4].Value);
                layoutData.sourcePath      = element.Attributes[3].Value;
                layoutData.width           = double.Parse(element.Attributes[2].Value);
                layoutData.height          = double.Parse(element.Attributes[1].Value);
                layoutData.tag             = element.Attributes[0].Value;
                switch (layoutData.tag)
                {
                case "Text":
                    MyText myText = new MyText();
                    myText.initLayout(layoutData);
                    myContainer.Children.Add(myText);
                    break;

                case "Media":
                    MyMedia myMedia = new MyMedia();
                    myMedia.initLayout(layoutData);
                    myContainer.Children.Add(myMedia);
                    break;

                case "Image":
                    MyImage myImage = new MyImage();
                    myImage.initLayout(layoutData);
                    myContainer.Children.Add(myImage);
                    break;

                case "Office":
                    MyOffice myOffice = new MyOffice();
                    myOffice.initLayout(layoutData);
                    myContainer.Children.Add(myOffice);
                    break;
                }
                layoutData = null;
            }
        }
示例#10
0
        public static MyContainer previewCanvasContent(MyContainer myContainer)
        {
            MyContainer previewCanvas = new MyContainer();

            previewCanvas.initLayout(myContainer.layoutData);
            int count = myContainer.Children.Count;

            for (int i = 0; i < count; i++)
            {
                ContentControl temp = myContainer.Children[i] as ContentControl;
                switch (temp.Tag as string)
                {
                case "Text":
                    MyText text     = new MyText();
                    MyText tempText = (MyText)temp;
                    text.Tag = "preview";
                    text.initLayout(tempText.layoutData);
                    previewCanvas.Children.Add(text);
                    //AttributeLayout.SetAttrTree(tag, this);
                    break;

                case "Image":
                    MyImage image     = new MyImage();
                    MyImage tempImage = (MyImage)temp;
                    image.Tag = "preview";
                    image.initLayout(tempImage.layoutData);
                    previewCanvas.Children.Add(image);
                    //AttributeLayout.SetAttrTree(tag, this);
                    break;

                case "Media":
                    MyMedia media     = new MyMedia();
                    MyMedia tempMedia = (MyMedia)temp;
                    media.Tag = "preview";
                    media.initLayout(tempMedia.layoutData);
                    previewCanvas.Children.Add(media);
                    //AttributeLayout.SetAttrTree(tag, this);
                    break;

                case "Office":
                    MyOffice myOffice   = new MyOffice();
                    MyOffice tempOffice = (MyOffice)temp;
                    myOffice.Tag = "preview";
                    myOffice.initLayout(tempOffice.layoutData);
                    previewCanvas.Children.Add(myOffice);
                    //AttributeLayout.SetAttrTree(tag, this);
                    break;
                }
            }
            return(previewCanvas);
        }
示例#11
0
        private async void Button_Click_2(object sender, RoutedEventArgs e)
        {
            StorageFile LoadFile = await Load();

            // MediaPlayer MyMediaPlayer = new MediaPlayer();
            if (LoadFile != null)
            {
                // var mediaSource = MediaSource.CreateFromStorageFile(LoadFile);
                var stream = await LoadFile.OpenAsync(Windows.Storage.FileAccessMode.Read);

                // MyMediaPlayer.Source = mediaSource;
                MyMedia.SetSource(stream, LoadFile.ContentType);
                //MyMedia.SetMediaPlayer(MyMediaPlayer);
                MyMedia.Play();
            }
        }
示例#12
0
        private static void showMediaAttrGrid(MyMedia myMedia, MainWindow window)
        {
            window.SourceGrid.Visibility     = System.Windows.Visibility.Visible;
            window.ImageAttrGrid.Visibility  = System.Windows.Visibility.Visible;
            window.SourceAttrGrid.Visibility = System.Windows.Visibility.Visible;
            window.TextAttrGrid.Visibility   = System.Windows.Visibility.Collapsed;
            window.TextAttrBg.Visibility     = System.Windows.Visibility.Collapsed;
            window.TextAttrFS.Visibility     = System.Windows.Visibility.Collapsed;
            window.TextAttrFC.Visibility     = System.Windows.Visibility.Collapsed;
            window.ControlWidth.Text         = myMedia.layoutData.width.ToString();
            window.ControlHeight.Text        = myMedia.layoutData.height.ToString();
            window.LayoutModel.Tag           = "MediaModel";
            window.LayoutModel.SelectedIndex = myMedia.layoutData.stretchModel;

            window.SourceButton.Tag = "Media";
            window.SourcePath.Text  = myMedia.layoutData.sourcePath;
        }
示例#13
0
        public static void CreateControlByTag(string tag, DragEventArgs e, MyContainer canvas, MainWindow mWindow)
        {
            Point position = e.GetPosition(canvas);

            //MyContainer canvas = new MyContainer();
            switch (tag)
            {
            case "Text":
                MyText myText = new MyText();
                Canvas.SetLeft(myText, Math.Max(0, position.X - myText.Width / 2));
                Canvas.SetTop(myText, Math.Max(0, position.Y - myText.Height / 2));
                canvas.Children.Add(myText);
                myText.updateLayoutDate();
                AttributeLayout.SetAttrTree(myText, mWindow);
                break;

            case "Media":
                MyMedia myMedia = new MyMedia();
                Canvas.SetLeft(myMedia, Math.Max(0, position.X - myMedia.Width / 2));
                Canvas.SetTop(myMedia, Math.Max(0, position.Y - myMedia.Height / 2));
                canvas.Children.Add(myMedia);
                myMedia.updateLayoutDate();
                AttributeLayout.SetAttrTree(myMedia, mWindow);
                break;

            case "Image":
                MyImage myImage = new MyImage();
                Canvas.SetLeft(myImage, Math.Max(0, position.X - myImage.Width / 2));
                Canvas.SetTop(myImage, Math.Max(0, position.Y - myImage.Height / 2));
                canvas.Children.Add(myImage);
                myImage.updateLayoutDate();
                AttributeLayout.SetAttrTree(myImage, mWindow);
                break;

            case "Word":
                MyOffice myOffice = new MyOffice();
                Canvas.SetLeft(myOffice, Math.Max(0, position.X - myOffice.Width / 2));
                Canvas.SetTop(myOffice, Math.Max(0, position.Y - myOffice.Height / 2));
                canvas.Children.Add(myOffice);
                myOffice.updateLayoutDate();
                AttributeLayout.SetAttrTree(myOffice, mWindow);
                break;
            }
            //return canvas;
        }
示例#14
0
        private async void OpenFileButton_Click(object sender, RoutedEventArgs e)
        {
            var picker = new Windows.Storage.Pickers.FileOpenPicker();

            picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
            picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.VideosLibrary;
            picker.FileTypeFilter.Add(".mp3");
            picker.FileTypeFilter.Add(".mp4");

            Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();

            if (file != null)
            {
                // Application now has read/write access to the picked file
                var mediaSource = MediaSource.CreateFromStorageFile(file);
                MyMediaPlayer.Source = mediaSource;
                MyMedia.SetMediaPlayer(MyMediaPlayer);
                MyMediaPlayer.Play();
            }
        }
示例#15
0
        public void TreePlaylist_DoubleClick(object sender, MouseButtonEventArgs e,
                                             TreeView treePlaylist)
        {
            if (treePlaylist.SelectedItem.GetType() != typeof(MyMedia))
            {
                return;
            }
            MyMedia item = (MyMedia)treePlaylist.SelectedItem;

            try
            {
                Console.WriteLine("Double Click Playing : " + item.Path);
                Media.Source = new Uri(item.Path);
                MediaPlayNormal();
            }
            catch (Exception err)
            {
                Console.WriteLine("Error:" + err);
            }
        }