Window.RestoreBounds Propriété

Définition

Obtient la taille et l’emplacement d’une fenêtre avant d’être réduits ou agrandis.

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

Valeur de propriété

Valeur Rect qui spécifie la taille et l’emplacement d’une fenêtre avant d’être réduite ou agrandie.

Attributs

Exemples

L’exemple suivant utilise RestoreBounds et le stockage isolé pour vous assurer que la taille et l’emplacement d’une fenêtre sont identiques à ceux de la fenêtre précédente.

<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

Remarques

Le rectangle de restauration est la région occupée par la fenêtre avant qu’elle ait été réduite ou agrandie. Vous pouvez utiliser RestoreBounds pour enregistrer la dernière taille et l’emplacement d’une fenêtre avant la fermeture d’une application et récupérer ces valeurs la prochaine fois qu’une application commence à restaurer une fenêtre de la façon dont un utilisateur l’a laissée.

Si vous interrogez RestoreBounds avant l’affichage de la fenêtre ou une fois qu’elle a été fermée, Empty elle est retournée.

Note

Vous ne pouvez pas obtenir cette propriété lorsqu’une fenêtre est hébergée dans un navigateur.

S’applique à