Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Window.RestoreBounds-Eigenschaft

Gets the size and location of a window before being either minimized or maximized.

Namespace: System.Windows
Assembly: PresentationFramework (in presentationframework.dll)
XML-Namespaces:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public Rect RestoreBounds { get; }
/** @property */
public Rect get_RestoreBounds ()

public function get RestoreBounds () : Rect

Sie können diese Eigenschaft nicht in XAML verwenden.

Eigenschaftenwert

A Rect that specifies the size and location of a window before being either minimized or maximized.

The restore rectangle is the region occupied by the window before it was minimized or maximized. You can use RestoreBounds to save the last size and location of a window before an application is closed, and retrieve those values the next time an application starts to restore a window to the way a user left it.

If you query RestoreBounds before the window has been shown or after it has been closed, Empty is returned.

HinweisHinweis:

You cannot get this property when a window is hosted in a browser.

The following example uses RestoreBounds and isolated storage to ensure the size and location of a window are the same as they were the previous time the window was shown.

<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"
    >
...

</Window>

using System;
using System.ComponentModel;
using System.IO;
using System.IO.IsolatedStorage;
using System.Windows;

...

  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());
      }
    }
  }

  • UIPermission  for permission to query for the size and location of a window's bounding rectangle. Associated enumeration: AllWindows

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0
Anzeigen: