因此,我创建了幻灯片。幻灯片使用两个重叠的媒体元素来显示图片。过渡仅意味着减少前景元素的不透明度并增加背景元素的不透明度。
问题是图片未足够快地加载到媒体元素中。这会导致结结,并且通常看起来很糟。我的想法是,我可以创建一个紧密循环,查看MediaElement.IsLoaded属性,直到变为真为止。事实证明,isLoaded始终为true,因为IsLoaded考虑的是媒体元素,而不是源。
我也考虑过MediaElement.DownloadProgress,但这也存在。
有什么想法吗?
最佳答案
Loaded
事件和IsLoaded
属性是从FrameworkElement
派生的所有WPF控件的常规功能。将元素添加到可视树时,而不是显示元素的内容时,IsLoaded
属性变为true
,并且引发Loaded
事件。因此,IsLoaded
是您要检测的错误属性。Loaded
事件的描述如下:
通常,加载是元素初始化序列中引发的最后一个事件。
另一方面,MediaElement
具有可能满足您需求的事件:
MediaElement.MediaOpened Event
描述如下:
在验证和打开媒体流并且读取文件头时发生。
这听起来像是您的应用程序正确的事件。
关于c# - MediaElement.IsLoaded的谎言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6143866/