C# 事件&x2018;System.Windows.Controls.MediaElement.MediaOpen’;只能出现在+;=或-=
请帮助我此行显示一些错误:C# 事件&x2018;System.Windows.Controls.MediaElement.MediaOpen’;只能出现在+;=或-=,c#,winforms,events,compiler-errors,C#,Winforms,Events,Compiler Errors,请帮助我此行显示一些错误: mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1.MediaOpened); 错误: 错误1事件“System.Windows.Controls.MediaElement.MediaOpen”只能出现在+=或的左侧-= 请帮助我解决此问题。如消息所述,您正在将mediaElement1.MediaOpen放置在右侧: mediaElement1.MediaOpened += new R
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1.MediaOpened);
错误:
错误1事件“System.Windows.Controls.MediaElement.MediaOpen”只能出现在+=或的左侧-=
请帮助我解决此问题。如消息所述,您正在将
mediaElement1.MediaOpen
放置在右侧:
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1.MediaOpened);
^
//Can't place it here
您需要以不同的方式创建
RoutedEventHandler
。对于事件,例如MediaOpened,+=运算符用于添加一个委托/方法,以便对所述事件执行某些操作
在本例中,您对MediaOpened事件感兴趣,因此您需要以下内容:
mediaElement1.MediaOpened += new RoutedEventHandler(this.OnMediaOpened);
private void OnMediaOpened(object sender, RoutedEventArgs e)
{
// TODO - Handle the MediaOpened event here
}
我不知道你到底想做什么。如果您想在mediaElement1.MediaOpen事件发生时执行一些逻辑,那么您需要创建一个方法,并将代码放在该方法中执行逻辑
private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
{
//Put your logic here
}
然后使用以下代码之一注册上述方法以处理mediaElement1.MediaOpen事件
//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"/>
//选项1:与您现有的代码一样,具有更正功能
mediaElement1.MediaOpened+=新路由EventHandler(mediaElement1\u MediaOpened);
//选项2:选项1的简要版本
mediaElement1.MediaOpened+=mediaElement1\u MediaOpened;
//选项3:用xaml而不是c注册#