Window.RestoreBounds Eigenschaft

Definition

Ruft die Größe und Position eines Fensters vor dem Minimieren oder Maximieren ab.Gets the size and location of a window before being either minimized or maximized.

public:
 property System::Windows::Rect RestoreBounds { System::Windows::Rect get(); };
[get: System.Security.SecurityCritical]
public System.Windows.Rect RestoreBounds { get; }
member this.RestoreBounds : System.Windows.Rect
Public ReadOnly Property RestoreBounds As Rect

Eigenschaftswert

Ein Rect, das die Größe und Position eines Fensters vor dem Minimieren oder Maximieren angibt.A Rect that specifies the size and location of a window before being either minimized or maximized.

Attribute

Beispiele

Im folgenden Beispiel wird RestoreBounds und isolierter Speicher verwendet, um sicherzustellen, dass die Größe und die Position eines Fensters identisch mit dem Zeitpunkt sind, an dem das Fenster angezeigt wurde.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;


Imports System.ComponentModel
Imports System.IO
Imports System.IO.IsolatedStorage
Imports 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());
    }
  }
}
Partial Public Class MainWindow
    Inherits Window

    Private filename As String = "settings.txt"

    Public Sub New()
        InitializeComponent()

        ' Refresh restore bounds from previous window opening
        Dim storage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForAssembly()
        Try
            Using stream As New IsolatedStorageFileStream(Me.filename, FileMode.Open, storage)
                Using reader As New StreamReader(stream)

                    ' Read restore bounds value from file
                    Dim restoreBounds As Rect = Rect.Parse(reader.ReadLine())
                    Me.Left = restoreBounds.Left
                    Me.Top = restoreBounds.Top
                    Me.Width = restoreBounds.Width
                    Me.Height = restoreBounds.Height
                End Using
            End Using
        Catch ex As FileNotFoundException
            ' Handle when file is not found in isolated storage, which is when:
            ' * This is first application session
            ' * The file has been deleted
        End Try

    End Sub

    Private Sub MainWindow_Closing(ByVal sender As Object, ByVal e As CancelEventArgs)
        ' Save restore bounds for the next time this window is opened
        Dim storage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForAssembly()
        Using stream As New IsolatedStorageFileStream(Me.filename, FileMode.Create, storage)
            Using writer As New StreamWriter(stream)
                ' Write restore bounds value to file
                writer.WriteLine(Me.RestoreBounds.ToString())
            End Using
        End Using
    End Sub
End Class

Hinweise

Das Wiederherstellungs Rechteck ist die Region, die vom Fenster belegt wird, bevor es minimiert oder maximiert wurde.The restore rectangle is the region occupied by the window before it was minimized or maximized. Sie können verwenden RestoreBounds , um die letzte Größe und Position eines Fensters vor dem Schließen einer Anwendung zu speichern und diese Werte abzurufen, wenn eine Anwendung das nächste Mal startet, um ein Fenster auf die Art und Weise wiederherzustellen, in der ein Benutzer das Fenster verlassen hat.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.

Wenn Sie Abfragen RestoreBounds , bevor das Fenster angezeigt wird oder nachdem es geschlossen wurde, Empty wird zurückgegeben.If you query RestoreBounds before the window has been shown or after it has been closed, Empty is returned.

Hinweis

Diese Eigenschaft kann nicht angezeigt werden, wenn ein Fenster in einem Browser gehostet wird.You cannot get this property when a window is hosted in a browser.

Sicherheit

UIPermission
, wenn die Berechtigung zum Abfragen der Größe und Position des umgebenden Rechtecks eines Fensters angezeigt werden soll.for permission to query for the size and location of a window's bounding rectangle. Zugehörige Enumeration:AllWindowsAssociated enumeration: AllWindows

Gilt für: