2

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
    }
}

}

4

1 に答える 1