在嵌套页面WPF VB.NET中使用MainWindow中的控件

时间:2013-08-09 16:16:07

标签: wpf vb.net visual-studio xaml

我在visual basic .net和WPF中有一个程序,它使用我的主Frame上的Window控件中显示的一系列页面,页面是从主Window中的控件导航的在框架之外,我已经完成了所有工作。

我对该主MediaElement也有一个Window控件,我需要能够从用户点击页面中的元素来更改此控件的source属性。每次我尝试这样做到目前为止我都遇到了错误。

现在我在主Window中有一个公共共享函数,它是从页面中的控件调用的,控件上的代码传递了要加载到函数的source属性的URL,然后是函数应该将url传递给source属性并告诉MediaElement播放。

我在尝试实现这一目标时遇到的错误是:

  

无法从共享中引用类的实例成员   没有显式实例的方法或共享成员初始化程序   上课。

请帮助,我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您是否在共享功能内部获得主窗口或媒体元素的实例?如果没有,这就是你的问题。

您可以在加载主窗口时将media元素粘贴到共享变量中,也可以使用application.current.app.rootvisual的rootvisual访问主窗口。

如果您的问题不是其他问题,请在共享函数中发布导致错误的代码。

答案 1 :(得分:0)

非常感谢史蒂夫的回答,但是我今天在尝试了一些不同的搜索词之后,发现了如何在另一篇文章中做我需要的事情。

在另一篇文章中称为Jean的人:https://stackoverflow.com/a/16781963/2668533通过使用application.current.windows建议了一些对我有用的东西:

Dim parent As MainWindow = Application.Current.Windows(0)
parent.player.Source = New Uri(url)

看似这样的新手道歉,但WPF对我来说是全新的,我从来没有遇到任何需要使用WindowsForms的similer。