Window.RestoreBounds Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o tamanho e a localização de uma janela antes de ser minimizada ou maximizada.
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
Valor da propriedade
Uma Rect que especifica o tamanho e a localização de uma janela antes de ser minimizada ou maximizada.
- Atributos
Exemplos
O exemplo a seguir usa RestoreBounds e o armazenamento isolado para garantir que o tamanho e o local de uma janela sejam os mesmos da hora anterior em que a janela foi mostrada.
<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
Comentários
O retângulo de restauração é a região ocupada pela janela antes de ser minimizada ou maximizada. Você pode usar RestoreBounds para salvar o último tamanho e o local de uma janela antes de um aplicativo ser fechado e recuperar esses valores na próxima vez que um aplicativo começar a restaurar uma janela para a maneira como um usuário a deixou.
Se você consultar RestoreBounds antes que a janela tenha sido mostrada ou depois que ela tiver sido fechada, Empty será retornada.
Observação
Você não pode obter essa propriedade quando uma janela é hospedada em um navegador.