Xamarin 和 UWP 辅助 Window 调整大小
Xamarin and UWP Secondary Window Sizing
我正在使用以下代码启动辅助 window。
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 的 class 相同。
我遇到的问题是,在调整辅助 window 大小时,框架大小,而不是内容。我还需要做什么来调整内容的大小?
这样就可以了。
frame.SizeChanged += delegate (object sender, SizeChangedEventArgs e) {
contentPage.Layout(new Rectangle(0, 0, e.NewSize.Width, e.NewSize.Height));
};
我正在使用以下代码启动辅助 window。
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 的 class 相同。
我遇到的问题是,在调整辅助 window 大小时,框架大小,而不是内容。我还需要做什么来调整内容的大小?
这样就可以了。
frame.SizeChanged += delegate (object sender, SizeChangedEventArgs e) {
contentPage.Layout(new Rectangle(0, 0, e.NewSize.Width, e.NewSize.Height));
};