Xamarin 和 UWP 辅助窗口大小调整

问题描述

我正在使用以下代码启动辅助窗口。

static async Task OpenSecondaryWindow(ContentPage contentPage) {
    var coreApplicationView = CoreApplication.CreateNewView();
    int viewId = 0;
    await coreApplicationView.dispatcher.RunAsync(CoredispatcherPriority.normal,() => {
        var frame = new Windows.UI.Xaml.Controls.Frame();
        frame.Navigate(contentPage);
        Window.Current.Content = frame;
        Window.Current.Activate();
        viewId = ApplicationView.GetForCurrentView().Id;
        App.StyleViews();
    });
    bool viewShown = await ApplicationViewSwitcher.TryShowAsstandaloneAsync(viewId);
}

ContentPage 属于在我的 Xamarin.Forms.Application 中实例化并设置为 MainPage 的同一类。

我遇到的问题是,在调整辅助窗口的大小时,是框架大小,而不是内容大小。我还需要做什么才能使内容达到合适的大小?

解决方法

这个就行了。

frame.SizeChanged += delegate (object sender,SizeChangedEventArgs e) {
    contentPage.Layout(new Rectangle(0,e.NewSize.Width,e.NewSize.Height));
};