请帮我看一下此行的错误:
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1.MediaOpened);
错误:
错误1事件'System.Windows.Controls.MediaElement.MediaOpened'只能出现在+ =或 - =
的左侧
请帮我解决问题。
答案 0 :(得分:1)
如消息所示,您将mediaElement1.MediaOpened
放在右侧:
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1.MediaOpened);
^
//Can't place it here
您需要以不同的方式创建RoutedEventHandler
。
答案 1 :(得分:0)
对于事件,例如MediaOpened,+ =运算符用于添加委托/方法以对所述事件采取某些操作。
在这种情况下,您对MediaOpened事件感兴趣,因此您需要以下内容:
mediaElement1.MediaOpened += new RoutedEventHandler(this.OnMediaOpened);
private void OnMediaOpened(object sender, RoutedEventArgs e)
{
// TODO - Handle the MediaOpened event here
}
答案 2 :(得分:0)
我不确定你究竟想做什么。如果你想在mediaElement1.MediaOpened事件发生时做一些逻辑,那么你需要创建一个方法并将你的代码放在那个方法中做逻辑。
private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
{
//Put your logic here
}
然后注册上面的方法以使用以下代码之一处理mediaElement1.MediaOpened事件
//option 1: just like your existing code with correction
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1_MediaOpened);
//option 2: brief version of option 1
mediaElement1.MediaOpened += mediaElement1_MediaOpened;
//option 3: register in xaml instead of c#
<MediaElement x:Name="mediaElement1" MediaOpened="mediaElement1_MediaOpened"/>