簡體   English   中英

如何在 UWP 應用的緊湊疊加模式下設置最小窗口大小

[英]How to set minimum window size in Compact overlay mode of UWP app

我的 UWP 應用中有一個按鈕,可以讓應用進入畫中畫模式。 PIP mopde 中的窗口大小可以在 150 x 150 和 500 x 500 之間更改,而且我可以在進入緊湊疊加模式時設置窗口大小。 但我想限制 PIP 模式下應用程序的最小窗口大小。 如何將應用調整大小限制為默認 150x150 最小大小。

 var applicationView = ApplicationView.GetForCurrentView();
 var viewModePreference = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay);
 viewModePreference.CustomSize = new Size(width, height);

 applicationView.SetPreferredMinSize(new Size(360, 400));
 await applicationView.TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, viewModePreference);

SetPreferredMinSize() 沒有解決目的。 請幫我解決。 謝謝

請檢查SetPreferredMinSize文檔,

允許的最小最小尺寸為 192 x 48 有效像素。 允許的最大最小尺寸為 500 x 500 有效像素。 如果您設置的值超出這些范圍,則會強制其在允許的范圍內。 (要了解有效像素,請參閱響應式設計 101。)

因此,請編輯您的最大寬度 150 到 192。

private void Button_Click(object sender, RoutedEventArgs e)
{
   
    var size = new Size(192,150);
    ApplicationView.GetForCurrentView().TryResizeView(size);
}

更新

如果您想限制用戶在疊加模式下調整窗口大小。 請收聽SizeChanged事件並在用戶更改窗口大小時調整 pip 視圖的大小。

private  void CoreWindow_SizeChanged(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
{
    var applicationView = ApplicationView.GetForCurrentView();
    if(applicationView.ViewMode == ApplicationViewMode.CompactOverlay)
    {

        var size = new Size(200, 200);                        
        ApplicationView.GetForCurrentView().TryResizeView(size);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM