我有两个窗口(win1 和 win2)。在 win1.xaml 中,我有 mediaelement,我尝试从 win2 C# 源代码调用它,这迫使我拥有一个静态的 mediaelement。
所以我使用绑定来填充源,但是将方法调用为 mediaelement.play() 我该怎么做,因为 mediaelement 在 xaml 中声明并且不是静态的?
谢谢你的帮助。
win1.xml
<Grid x:Name="LayoutRoot" Width="630" Height="460" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="626"></ColumnDefinition>
<ColumnDefinition Width="24*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Height="440" Width="620" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,2,-12">
<StackPanel Height="350" Width="587" Background="White" Margin="0,10,0,0">
<!-- MediaElement -->
<MediaElement Margin="10,11,10,0" Name="MediaElement1" Source="{Binding MediaElement1Source, Source={x:Static bindableSettings:BindingManager.Instance}}"
Width="565" Height="330" LoadedBehavior="Manual" UnloadedBehavior="Close" Stretch="Fill" />
</StackPanel>
</StackPanel>
</Grid>
win1.xaml.cs MediaElement init 和其他一些东西
win2.xaml 只是一个按钮调用函数
win2.xaml.cs
namespace MyApp
{
public partial class win2 : Window
{
public win2()
{
InitializeComponent();
}
public static void MediaElement1_Play()
{
MessageBox.Show("MediaElement1_Play Called");
win1.MediaElement1.Play();
MessageBox.Show("MediaElement1_Play Exited");
// Other statics stuff
}
}
}