Window.RestoreBounds Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene le dimensioni e la posizione di una finestra prima della riduzione a icona o l'ingrandimento.
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
Valore della proprietà
Oggetto Rect che specifica le dimensioni e la posizione di una finestra prima della riduzione a icona o l'ingrandimento.
- Attributi
Esempio
Nell'esempio seguente viene RestoreBounds usato e lo spazio di archiviazione isolato per garantire che le dimensioni e la posizione di una finestra siano uguali a quella usata nell'ora precedente in cui è stata visualizzata la finestra.
<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
Commenti
Il rettangolo di ripristino è l'area occupata dalla finestra prima che sia stata ridotta a icona o ingrandita. È possibile usare RestoreBounds per salvare le ultime dimensioni e la posizione di una finestra prima della chiusura di un'applicazione e recuperare tali valori alla successiva avvio di un'applicazione per ripristinare una finestra nel modo in cui un utente l'ha lasciata.
Se si esegue una query RestoreBounds prima che la finestra sia stata visualizzata o dopo la chiusura, Empty viene restituita.
Nota
Non è possibile ottenere questa proprietà quando una finestra è ospitata in un browser.