Window.RestoreBounds Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la taille et l'emplacement d'une fenêtre avant qu'elle ne soit réduite ou agrandie.
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é
Rect qui spécifie la taille et l'emplacement d'une fenêtre avant sa réduction ou son agrandissement.
- Attributs
Exemples
L’exemple suivant utilise RestoreBounds et le stockage isolé pour s’assurer que la taille et l’emplacement d’une fenêtre sont identiques à ceux de l’affichage précédent de la fenêtre.
<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 correspond à la région occupée par la fenêtre avant qu’elle ne soit 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 commencera à restaurer une fenêtre comme un utilisateur l’a laissée.
Si vous interrogez RestoreBounds avant l’affichage ou la fermeture de la fenêtre, Empty est retourné.
Notes
Vous ne pouvez pas obtenir cette propriété lorsqu’une fenêtre est hébergée dans un navigateur.