Window.RestoreBounds プロパティ

定義

最小化または最大化される前のウィンドウのサイズと位置を取得します。

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

プロパティ値

Rect

最小化または最大化される前のウィンドウのサイズと位置を指定する Rect

属性

次の例では、ストレージを使用 RestoreBounds して分離し、ウィンドウのサイズと場所が以前のウィンドウと同じであることを確認します。

<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

注釈

復元四角形は、ウィンドウが最小化または最大化する前に占める領域です。 アプリケーションを閉じる前にウィンドウの最後のサイズと場所を保存し、次回アプリケーションがウィンドウの復元を開始した時点で、ユーザーがウィンドウを離れた状態に戻す際に、それらの値を取得するために使用 RestoreBounds できます。

ウィンドウが表示される前または閉じられた後にクエリ RestoreBounds を実行した場合は、 Empty 返されます。

注意

ウィンドウがブラウザーでホストされている場合は、このプロパティを取得できません。

適用対象