可以';t请参阅窗口中MediaElement的内容-WPF
本文关键字:MediaElement -WPF 窗口 请参阅 可以 | 更新日期: 2023-09-27 18:25:53
我试图创建一个"连接到服务器"窗口。此窗口需要显示在程序的打开启动屏幕之后。窗口只包含一个MediaElement,在这个MediaElement中我需要显示一个.avi文件。在Window的.cs文件中,我正在创建套接字,它需要连接到我的服务器并检查更新。此外,当(来自服务器的)响应被接受时,我不希望启动屏幕停止显示.avi文件。
我的问题是窗口没有显示.avi文件。当我用mp3文件替换.avi文件(用于测试..)时,它会给我带来相同的结果。
一般来说,我的代码是这样的:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.MediaElement.Play();
------------------------------
| Socket's Code Comes Here |
------------------------------
if (this.IsUpdateNeeded == true) //IsUpdateNeeded == My Own Variable..
{
MessageBox.Show("New Version Is Here !", "New Version Is Here !", MessageBoxButtons.OK, .MessageBoxIcon.Information);
GoToWebsite();
}
else
{
MessageBox.Show("You Own The Latest Version", "No Update Is Needed", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
this.MediaElement.Stop();
this.Close();
}
有人能帮我弄清楚吗?
在另一个线程中运行的代码(因此不会阻塞主UI线程并停止视频播放)
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.MediaElement.Play();
Task.Factory.StartNew(
new Action(delegate()
{
/*
* ------------------------------
Socket's Code Comes Here |
------------------------------
*/
Dispatcher.Invoke(
new Action(delegate()
{
if (this.IsUpdateNeeded == true) //IsUpdateNeeded == My Own Variable..
{
MessageBox.Show("New Version Is Here !", "New Version Is Here !", MessageBoxButton.OK, MessageBoxImage.Information);
GoToWebsite();
}
else
{
MessageBox.Show("You Own The Latest Version", "No Update Is Needed", MessageBoxButton.OK, MessageBoxImage.Information);
}
this.MediaElement.Stop();
this.Close();
}
));
}
)
);
}