Вы можете использовать AutoResetEvent для обработки этой ситуации.Но я бы определенно попытался найти другой путь, если он есть.hiddenMediaElement.MediaFailed + = (obj, Sender) => {bMediaError = true;autoResetEvent.Set ();};hiddenMediaElement.MediaOpened + = (obj, Sender) => {
// Я думаю, что это происходит, когда это успешно.Иначе, поместите его в обработчик, который успешно обрабатывает autoResetEvent.Set ();};
autoResetEvent.WaitOne(); // set a timeout value
if (!bMediaError)
{
ObjChildMediaPlayer.Visibility = Visibility.Visible;
ObjChildMediaPlayer._currenTitle = strTitle;
ObjChildMediaPlayer.Show();
Content_FullScreenChanged(null, null);
}
Или ... Я не уверен, что это сработает, но попробуйте.
hiddenMediaElement.Source = new Uri(strMediaFileName, UriKind.RelativeOrAbsolute);
hiddenMediaElement.MediaOpened += (obj, sender) =>
{
ObjChildMediaPlayer.Visibility = Visibility.Visible;
ObjChildMediaPlayer._currenTitle = strTitle;
ObjChildMediaPlayer.Show();
Content_FullScreenChanged(null, null);
};