【问题标题】:Change properties of mediaelement in different wpf window在不同的 wpf 窗口中更改 mediaelement 的属性
【发布时间】:2017-03-31 20:10:25
【问题描述】:
在我的应用程序中,我有 2 个不同的 wpf 窗口。主窗口有一些按钮和文本框来控制不同窗口中的媒体元素。
如何从 window1 控制 window2 中的媒体元素?
例如,我在 window1 中按下 button_play 并从 window1 中的 textbox1 读取文件名,并设置 window2 中 mediaelement 的源属性(来自 textbox1 值)和 medialement.play。
感谢SMerker
【问题讨论】:
标签:
c#
wpf
window
mediaelement
【解决方案1】:
有不同的方法可以做到这一点,最简单的一种可能是在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 = ...;