问题描述
我正在使用以下代码启动辅助窗口。
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));
};