改变不同 wpf 中 mediaelement 的属性 window

Change properties of mediaelement in different wpf window

在我的应用程序中,我有 2 个不同的 wpf windows。主 window 有一些按钮和文本框来控制不同 window 中的中间元素。

如何从 window1 控制 window2 中的媒体元素?

例如,我在 window1 中按 button_play,然后在 window1 中从文本框 1 中读取文件名,在 [=] 中读取媒体元素的来源 属性 24=]2 已设置(来自 textbox1 值)和 medialement.play.

感谢 SMerker

有多种方法可以做到这一点,最简单的方法可能是在 Window2 中公开 MediaElement,或者使用 XAML 中的 x:FieldModifier 属性或者通过在代码隐藏中定义 属性:

<MediaElement x:Name="me" x:FieldModifier="public" />

然后您可以使用 Application.Current.Windows 属性 获取对 Window2 的引用并访问生成的支持字段或直接 属性:

Window2 win = Application.Current.Windows.OfType<Window2>().FirstOrDefault();
if (win != null)
    win.me.Source = ...;