改变不同 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 = ...;
在我的应用程序中,我有 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 = ...;