我正在开发一个快速应用程序,其唯一目的是在UWP中使用画中画模式(精简视图)在我的工作中显示Youtube视频。以下是当前系统的工作方式:
MainPage - 处理搜索YouTube视频 YoutubeItem - 主页为每个youtube结果创建的用户控件。其中大约50个被放入包裹板中。 YoutubeViewer - 一个单独的页面,在其自己的窗口中运行并显示YouTube视频。
这是我的问题。我将youtube视频的所有信息存储在每个YoutubeItem中。使用按钮,我记录click事件并处理它。这是处理点击的代码:
private async void Button_Click(object sender, RoutedEventArgs e)
{
CoreApplicationView newView = CoreApplication.CreateNewView();
int newViewId = 0;
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
Frame frame = new Frame();
frame.Navigate(typeof(YoutubeViewer), null);
Window.Current.Content = frame;
// You have to activate the window in order to show it later.
Window.Current.Activate();
newViewId = ApplicationView.GetForCurrentView().Id;
});
bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
}
当我必须将视频链接发送到YoutubeViewer时,会出现问题。最初,我是通过构造函数执行此操作但是在将此方法用于Windows文档时,我无法使用我自己的构造函数。你们如何建议获得新窗口的链接?
答案 0 :(得分:0)
有很多方法。
最简单的,但不一定是最优雅的,是创建一个继承自Frame
的新类,并为其添加一个链接属性。像这样:
public class FooFrame: Frame
{
public string Link;
}
然后在你的代码中在初始化框架时分配它:
FooFrame frame = new FooFrame(){Link = "youtube.link.com"}