【发布时间】:2019-10-16 04:15:19
【问题描述】:
我的应用有一个迷你模式,使用这两行代码进入:
(Window.Current.Content as Frame).Navigate(typeof(MiniModePage));
await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, MiniModePage.ViewModePreferences);
这是MiniModePage.ViewModePreferences:
public static Size PageSize { get => new Size(300, Settings.settings.MiniModeWithDropdown ? 900 : 300); }
public static ViewModePreferences ViewModePreferences
{
get
{
var pref = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay);
pref.CustomSize = PageSize;
return pref;
}
}
在MiniModePage 中,我允许通过单击按钮来调整我的应用程序窗口的大小:
private void Button_Click(object sender, RoutedEventArgs e)
{
SpinArrowAnimation.Begin();
Settings.settings.MiniModeWithDropdown = !Settings.settings.MiniModeWithDropdown;
var size = PageSize;
ApplicationView.GetForCurrentView().SetPreferredMinSize(size);
ApplicationView.GetForCurrentView().TryResizeView(size);
}
问题是,我可以缩小窗口大小,但是当我尝试将窗口大小从 300 * 300 放大到 300 * 900 时,窗口大小并没有改变。它始终保持 300 * 300。
如何让窗口不断调整大小?
我的另一个问题是,300 * 900 的窗口显然没有 1 * 3 的大小比例,如下图所示。我该如何解决?
更多源码:
在
MiniModeButton_Click中输入MiniModePage的代码是here。
【问题讨论】:
标签: uwp win-universal-app