Window.RestoreBounds 屬性

定義

取得視窗在最小化或最大化之前的大小和位置。

C#
public System.Windows.Rect RestoreBounds { [System.Security.SecurityCritical] get; }
C#
public System.Windows.Rect RestoreBounds { get; }

屬性值

Rect,指定視窗在最小化或最大化之前的大小和位置。

屬性

範例

下列範例會使用 RestoreBounds 和 隔離儲存區來確保視窗的大小和位置與前一次顯示視窗的時間相同。

XAML
<Window x:Class="WindowRestoreBoundsSnippets.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WindowRestoreBoundsSnippets"
    Closing="MainWindow_Closing"
    >
XAML
</Window>
C#
using System;
using System.ComponentModel;
using System.IO;
using System.IO.IsolatedStorage;
using System.Windows;
C#
public partial class MainWindow : Window {

  string filename = "settings.txt";

  public MainWindow() {
    InitializeComponent();

    // Refresh restore bounds from previous window opening
    IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForAssembly();
    try {
      using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(this.filename, FileMode.Open, storage))
      using (StreamReader reader = new StreamReader(stream)) {

        // Read restore bounds value from file
        Rect restoreBounds = Rect.Parse(reader.ReadLine());
        this.Left = restoreBounds.Left;
        this.Top = restoreBounds.Top;
        this.Width = restoreBounds.Width;
        this.Height = restoreBounds.Height;
      }
    }
    catch (FileNotFoundException ex) {
      // Handle when file is not found in isolated storage, which is when:
      // * This is first application session
      // * The file has been deleted
    }
  }

  void MainWindow_Closing(object sender, CancelEventArgs e) {
    // Save restore bounds for the next time this window is opened
    IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForAssembly();
    using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(this.filename, FileMode.Create, storage))
    using (StreamWriter writer = new StreamWriter(stream)) {
      // Write restore bounds value to file
      writer.WriteLine(this.RestoreBounds.ToString());
    }
  }
}

備註

還原矩形是視窗最小化或最大化之前所佔用的區域。 您可以使用 RestoreBounds 在關閉應用程式之前儲存視窗的最後一個大小和位置,並在下次應用程式開始將視窗還原至使用者離開的方式時擷取這些值。

如果您在視窗顯示之前或關閉視窗之後查詢 RestoreBoundsEmpty 則會傳回 。

備註

當視窗裝載在瀏覽器中時,您無法取得這個屬性。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10