我有TabControl,我想在TabItems的內容中有視頻。 我有方法的視頻添加到選項卡的內容:WPF TabControl當更改選定項MediaUriElement隱藏
private void AddVideosFromListToTab(IEnumerable<VideoClass> list, TabItem tab)
{
var stackPanel = new StackPanel { Orientation = Orientation.Horizontal };
foreach (
var media in
list.Select(
video =>
MediaUriElementHelper.CreatePreviewMediaElementUri(video.SamplePath(), 200, 150, mediaPreviewControls,
mediaPlayer_MouseDown)))
{
stackPanel.Children.Add(media);
}
stackPanel.Children.Add(new TextBlock {Text = "Some text"});
tab.Content = stackPanel;
}
這是我與影像製作媒體的方法。我使用MediaUriElement,因爲它在性能上更好。
public static MediaUriElement CreatePreviewMediaElementUri(string sourceFile, int width, int height, List<MediaUriElement> listMedias, System.Windows.Input.MouseButtonEventHandler mouseDown)
{
var media = new MediaUriElement();
media.BeginInit();
media.Width = width;
media.Height = height;
media.Margin = new Thickness(20);
media.Volume = 0;
media.LoadedBehavior = WPFMediaKit.DirectShow.MediaPlayers.MediaState.Play;
media.MouseDown += mouseDown;
media.Loop = true;
media.Source = new Uri(sourceFile);
media.EndInit();
listMedias.Add(media);
return media;
}
當應用程序加載它的好,但是當我選擇另一個選項卡中有沒有視頻,當我再回到第一個選項卡有沒有太多了。我添加了一些文字,並且總是存在。所以問題出在MediaUriElement上。有人知道如何解決這個問題嗎?謝謝