Re: [問題] 取得MediaElement.Source

看板C_Sharp作者 (123)時間14年前 (2011/03/18 15:13), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/2 (看更多)
using System.Windows.Shapes; using System.Windows.Threading; using Microsoft.Surface.Presentation; using Microsoft.Surface.Presentation.Controls; using Microsoft.Surface.Presentation.Input; using SSC = Microsoft.Surface.Presentation.Controls; namespace CourseIntegrator_Player { const string systemFoldersKey = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Folders"; videoPuzzlesPath = (string)Microsoft.Win32.Registry.GetValue(systemFoldersKey, "CommonVideo", null) + @"\Sample Videos"; InitializeComponent(); LoadPhotos(); } private void LoadPhotos() { foreach (string file in Directory.GetFiles(videoPuzzlesPath, "*.wmv")) { MediaElement video = new MediaElement(); MediaTimeline t = new MediaTimeline(); t.Source = new Uri(file); t.RepeatBehavior = RepeatBehavior.Forever; video.Clock = t.CreateClock(); video.IsMuted = true; video.Clock.Controller.Begin(); AddElementToPhotoList(video); } } private void AddElementToPhotoList(UIElement img) { Viewbox b = new Viewbox { Width = 200, Child = img }; photo.Items.Insert(photo.Items.Count, b); } private void photo_SelectionChanged(object sender, SelectionChangedEventArgs e) { //將從SurfaceListBox選到的item加到ScatterView裡 photo是SurfaceListBox的name SSC.ScatterViewItem item = new SSC.ScatterViewItem(); Viewbox vb = (Viewbox)photo.SelectedItem; MediaElement Movie = (MediaElement)vb.Child; item.Content = Movie; scatter.Items.Add(item); } ※ 引述《chris75123 (123)》之銘言: : 抓SurfaceListBox上點選的影片的檔案路徑 : =============================================== : photo是SurfaceListBox元件 : Viewbox vb = (Viewbox)photo.SelectedItem; : MediaElement Movie = (MediaElement)vb.Child; : MessageBox.Show(Movie.Source.ToString()); : 想要取得點選的item的source但是一直出現這個錯誤 : "MessageBox.Show(Movie.Source.ToString())" : 並未將物件參考設定為物件的執行個體。 : 用debugger看了一下Movie.source是null @@ : ================================================ : 但是如果vb.Child改用Image接就抓得到Source : 可以抓到圖片的抓不到影片的 : 為什麼阿QQ?? : 麻煩各位了!!謝謝大家!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.52

03/18 15:23, , 1F
問題是 item.Content = Movie這行
03/18 15:23, 1F

03/18 15:23, , 2F
指定的項目已經是另一個項目的子項目。請先中斷連線。
03/18 15:23, 2F
文章代碼(AID): #1DWmOJR5 (C_Sharp)
文章代碼(AID): #1DWmOJR5 (C_Sharp)