Window.Top Property

Gets or sets the position of the top edge of the application window; see Remarks for restrictions on setting this property at run time.

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)

public double Top { get; set; }

Property Value

Type: System.Double
The position of the top edge of the application window. The default is the WindowSettings.Top setting in the application manifest.


The application is not running outside the browser.


The current thread is not the user interface (UI) thread.

You can set this property at run time only if WindowStartupLocation is set to Manual. Additionally, you can set this property at run time only before the end of the Application.Startup event, after which any changes are ignored. For example, you can save the current value to isolated storage in an Application.Exit event handler, and restore the value in an Application.Startup event handler.

The following code example demonstrates the use of this property. In this example, the window position and dimensions were previously saved to the ApplicationSettings in the isolated storage as a user defined key/value pair. These key/value pairs are retrieved and used to set the current value of the window settings.

private void Application_Startup(object sender, StartupEventArgs e)
    this.RootVisual = new MainPage();

    // Set the window position and dimensions to the previoius settings.
    // The key/value pairs in the ApplicationSettings are user defined.
    if (Application.Current.IsRunningOutOfBrowser)
        // Get the application settings from IsolatedStorage.
        IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;

        // Get a reference to the main window.
        Window mainWindow = Application.Current.MainWindow;

        // Set the Window.Top property.
        if (appSettings.Contains("WindowTop"))
            mainWindow.Top = Convert.ToDouble(appSettings["WindowTop"]);

        // Set the Window.Left property.
        if (appSettings.Contains("WindowLeft"))
            mainWindow.Left = Convert.ToDouble(appSettings["WindowLeft"]);

        // Set the Window.Width property.
        if (appSettings.Contains("WindowWidth"))
            mainWindow.Width = Convert.ToDouble(appSettings["WindowWidth"]);

        // Set the Window.Height property.
        if (appSettings.Contains("WindowHeight"))
            mainWindow.Height = Convert.ToDouble(appSettings["WindowHeight"]);


Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions