2 つのウィンドウ (win1 と win2) があります。win1.xaml には mediaelement があり、それを win2 C# ソースから呼び出そうとすると、静的な mediaelement が強制されます。
ソースを埋めるためにバインディングを使用しますが、メソッドを mediaelement.play() として呼び出すにはどうすればよいですか?
ご協力いただきありがとうございます。
win1.xaml
<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
}
}
}