创建辅助窗口时的UWP Custom Constructor

时间:2017-09-16 03:31:37

标签: c# xaml uwp

我正在开发一个快速应用程序,其唯一目的是在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文档时,我无法使用我自己的构造函数。你们如何建议获得新窗口的链接?

1 个答案:

答案 0 :(得分:0)

有很多方法。 最简单的,但不一定是最优雅的,是创建一个继承自Frame的新类,并为其添加一个链接属性。像这样:

public class FooFrame: Frame
{ 
       public string Link; 
}

然后在你的代码中在初始化框架时分配它:

FooFrame frame = new FooFrame(){Link = "youtube.link.com"}