diff --git a/accelerate/tools/vs-extension/getting-started.md b/accelerate/tools/vs-extension/getting-started.md
index a26f7b446..ab9bf091a 100644
--- a/accelerate/tools/vs-extension/getting-started.md
+++ b/accelerate/tools/vs-extension/getting-started.md
@@ -8,7 +8,7 @@ It supports Visual Studio 2022 version 17.10 and above.
In addition to downloading and installing the extension from the marketplace you can also search within the **Manage Extensions** window on the **Extensions** menu
-
+
## Features
diff --git a/docs/get-started/choose-a-solution-template.md b/docs/get-started/choose-a-solution-template.md
deleted file mode 100644
index adfacdb7e..000000000
--- a/docs/get-started/choose-a-solution-template.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-id: choose-a-solution-template
-title: Choose a Template
----
-
-import Highlight from '@site/src/components/Highlight';
-
-The _Avalonia for Visual Studio_ extension includes some solution templates that you can use to start an _Avalonia UI_ project. To get started, you will use the simplest of these templates.
-
-Follow this procedure to choose the template:
-
-- Run **Visual Studio** , click **Create a new project** .
-- Type 'Avalonia' in the search box.
-- Click **Avalonia Application** (the first item in the search results - for C#), then click **Next** .
-
-
-
-
-
-- Complete the **Configure you new project** dialog, and click **Create** .
-
-The template will create a new solution and project for you with the Avalonia UI dependencies set, and 5 files.
-
-
-
-
-
-You are now ready to explore the app.
\ No newline at end of file
diff --git a/docs/get-started/getting-started.md b/docs/get-started/getting-started.md
deleted file mode 100644
index d89f191a5..000000000
--- a/docs/get-started/getting-started.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: getting-started
-title: Starting with the CLI
----
-
-If you build your projects with the .NET CLI, then follow the procedures here to install the _Avalonia UI_ templates and create your first application.
-
-## Install Avalonia UI Templates
-
-To install the _Avalonia UI_ templates, run the following command:
-
-```bash
-dotnet new install Avalonia.Templates
-```
-
-:::info
-Note: For .NET 6.0 and earlier, you must use `--install` instead.
-:::
-
-## Create a new Application
-
-Once the templates are installed, you can create a new _Avalonia UI_ application by running the following command:
-
-```bash
-dotnet new avalonia.app -o MyApp
-```
-
-This will create a new folder called `MyApp` containing your application files. To run the application, navigate to the `MyApp` folder and run:
-
-```bash
-cd MyApp
-dotnet run
-```
-
-That is all there is to it! Your _Avalonia UI_ application is now up and running. Next you can open the `MyApp` folder to start improving and building your application further.
diff --git a/docs/get-started/index.md b/docs/get-started/index.md
deleted file mode 100644
index 886af04d3..000000000
--- a/docs/get-started/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Get Started
-
-import {DocsCardList} from '../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
\ No newline at end of file
diff --git a/docs/get-started/index.mdx b/docs/get-started/index.mdx
new file mode 100644
index 000000000..79625220a
--- /dev/null
+++ b/docs/get-started/index.mdx
@@ -0,0 +1,247 @@
+---
+id: index
+title: Getting started
+description: Get started with Avalonia. Install Avalonia and its prerequisites, then launch your first project using an Avalonia template.
+---
+import DownloadAvaloniaRider from '/img/get-started/download-rider-avaloniarider.png';
+import DownloadAvaloniaExtensionForVS from '/img/get-started/download-vs-avalonia-extension.png';
+import WelcomeToAvalonia from '/img/get-started/welcome-to-avalonia.png';
+
+import useBaseUrl from '@docusaurus/useBaseUrl';
+
+# Getting started
+
+Let’s get started with Avalonia. This guide takes you through installing Avalonia and launching your first project in your integrated development environment (IDE).
+
+## Prerequisites
+
+You must have installed:
+
+- .NET (8.0 or above, as of October 2025)
+- IDE of your choice (we recommend JetBrains Rider or Visual Studio)
+
+### Installing .NET
+
+Download from the [.NET website](https://dotnet.microsoft.com/en-us/download/dotnet), then follow the installation instructions.
+
+### Choosing an IDE
+
+Avalonia works best in Visual Studio or JetBrains Rider.
+
+Visual Studio Code is also supported, although we do not recommend it due to more limited features.
+
+
+
+ We recommend [JetBrains Rider](https://www.jetbrains.com/rider/) if you use macOS or Linux. JetBrains Rider offers a complete, polished development experience on these operating systems, including built-in support for XAML.
+
+ Consider installing the third-party plugin [AvaloniaRider](https://plugins.jetbrains.com/plugin/14839-avaloniarider), which enables live preview of your XAML as you work.
+
+ To install AvaloniaRider:
+
+ 1. In JetBrains Rider, go to **Settings → Plugins**.
+ 2. Go to the **Marketplace** tab.
+ 3. In the search bar, input “AvaloniaRider”.
+ 4. Click **Install**.
+ 5. Follow any additional installation instructions. You may need to close and reopen JetBrains Rider to complete the installation.
+
+
+
+
+
+ For more information on using the XAML previewer, see the page on [XAML previewers](/docs/get-started/xaml-previewers).
+
+
+ If you’re working on Windows, you can use [Visual Studio](https://visualstudio.microsoft.com/) with the Avalonia for Visual Studio extension.
+
+ To install Avalonia for Visual Studio:
+
+ 1. In Visual Studio, go to **Extensions → Manage Extensions**.
+ 2. In the search bar, input “Avalonia”.
+ 3. Click **Install**.
+ 4. Follow any additional installation instructions. You may need to close and reopen Visual Studio to complete the installation.
+
+
+
+
+
+ Alternatively, you can [download the extension from the Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
+
+ :::note
+ If you are using an older version of Visual Studio, you may need to download an older version of the extension from the Marketplace, e.g., the [2019 version](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
+ :::
+
+ For more information on using the XAML previewer, see the page on [XAML previewers](/docs/get-started/xaml-previewers).
+
+
+ If you prefer to use [Visual Studio Code](https://code.visualstudio.com/), the Avalonia for VSCode extension provides basic functionalities like autocomplete and previewer. You can [download the extension from the Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia).
+
+ Due to limited support, we do not recommend Visual Studio Code.
+
+
+
+## Installing Avalonia templates
+
+Depending on which IDE you are using, you may already have the [Avalonia templates](https://github.com/AvaloniaUI/avalonia-dotnet-templates) installed. This is the case for Visual Studio with the Avalonia for Visual Studio extension.
+
+You can run this command to check what .NET templates you have available:
+
+```
+dotnet new list
+```
+
+Look for these Avalonia templates among the other .NET templates:
+
+```
+Template Name Short Name Language Tags
+-------------------------------------------- -------------------------- ---------- ---------------------------------------------------------
+Avalonia .NET App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia .NET MVVM App avalonia.mvvm [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Browser/Mobile
+```
+
+If you do not see these templates on the list, you can install them by running this command:
+
+```
+dotnet new install Avalonia.Templates
+```
+
+Check the output. You should see that these templates are installed:
+
+```
+Template Name Short Name Language Tags
+-------------------------------------------- -------------------------- ---------- ---------------------------------------------------------
+Avalonia .NET App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia .NET MVVM App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Web/Mobile
+Avalonia Resource Dictionary avalonia.resource Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia Styles avalonia.styles Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia TemplatedControl avalonia.templatedcontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia UserControl avalonia.usercontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+Avalonia Window avalonia.window [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
+```
+
+### Installation troubleshooting
+
+#### .NET is not a recognized program
+
+First, ensure the .NET SDK is installed. Run this command:
+
+```
+dotnet --list-sdks
+```
+
+If a .NET SDK is correctly installed, this returns an output similar to the following:
+
+```
+8.0.202 [C:\Program Files\dotnet\sdk]
+```
+
+If the terminal continues to report that .NET is missing, try restarting the terminal.
+
+#### `Avalonia.Templates` package cannot be found
+
+Ensure NuGet is correctly set up. Run this command:
+
+```
+dotnet nuget list source
+```
+
+Check that the output displays the following as a registered source:
+
+```
+nuget.org [Enabled]
+https://api.nuget.org/v3/index.json
+```
+
+If this source is not listed, add it using this command:
+
+```
+dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
+```
+
+If the package install continues to fail even with NuGet listed as a registered source, check your network connectivity or firewall settings.
+
+## Creating your first project
+
+For your first project, we’re going to use the MVVM template.
+
+
+
+ 1. On the Rider startup screen, select **New Solution**.
+ 2. In the side bar, scroll down to “Custom Templates”. Select **Avalonia .NET MVVM App**.
+ 3. Name your solution “GetStartedApp”.
+ 4. Click **Create**.
+
+
+ 1. In Visual Studio, click **File → New → Project/Solution**.
+ 2. In the search box, input “Avalonia”.
+ 3. Select **Avalonia .NET MVVM App** from the search results. If Visual Studio offers multiple options, select the one for **C#**. Then, click **Next**.
+ 4. Name your project “GetStartedApp”.
+ 5. Change the target directory if desired. Then, click **Next**.
+ 6. Select your preferred version of **.NET** as the framework.
+ 7. If given the option to choose target platforms, select **Desktop**.
+ 8. Click **Create**.
+
+
+ 1. In Visual Studio Code, bring up the command palette. This is Ctrl + Shift + P on Windows, or Cmd + Shift + P on macOS.
+ 2. Input “.NET” into the search.
+ 3. From the search results, select **.NET: New Project...**
+ 4. From the list of project templates, select **Avalonia MVVM App**.
+ 5. Specify a directory on your device for the project.
+ 6. Name your project “GetStartedApp”.
+ 7. Click **Create project**.
+
+
+ 1. In the command line, run this command:
+
+ ```
+ dotnet new avalonia.mvvm -o GetStartedApp
+ ```
+
+ 2. Check your device for a new folder named **GetStartedApp**, containing the new project files.
+
+
+
+## Running your project
+
+
+ Click **Run** in the top toolbar.
+
+ The solution builds and runs your app in a new window. By default, this displays the string, “Welcome to Avalonia!”
+
+
+ In the top toolbar, select "GetStartedApp" next to the **Run** button. Then, click **Run**.
+
+ The solution builds and runs your app in a new window. By default, this displays the string, “Welcome to Avalonia!”
+
+
+ 1. Select **Run and Debug** in the side navigation bar.
+ 2. If prompted to select a debugger, choose **C#**.
+ 3. Click **Run and Debug.**
+
+ The solution builds and runs your app in a new window. By default, this displays the string, “Welcome to Avalonia!”
+
+
+ 1. Navigate to the directory containing your **GetStartedApp** project.
+ 2. Run the command `dotnet run`.
+
+ The solution builds and runs your app in a new window. By default, this displays the string, “Welcome to Avalonia!”
+
+
+
+
+
+
+
+## Next steps
+
+You have now installed Avalonia on your device and know how to create and run Avalonia projects.
+
+You can start developing an app right away, if you wish.
+
+Or, for a short tutorial building a simple app that introduces you to basic concepts and functions in Avalonia, proceed to the next page:
+
+
+
+
+
diff --git a/docs/get-started/install-the-avalonia-extension.md b/docs/get-started/install-the-avalonia-extension.md
deleted file mode 100644
index 0c171939b..000000000
--- a/docs/get-started/install-the-avalonia-extension.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: install-the-avalonia-extension
-title: Install the Avalonia Extension
----
-
-import Highlight from '@site/src/components/Highlight';
-
-To implement applications using _Avalonia UI_, you first need to install the _Avalonia for Visual Studio_ extension.
-
-
-
-
-
-The extension includes a designer with an XAML pane linked to a UI preview that is capable of updating what you see, as you write XAML. The extension also installs all the library files you need, provides Intellisense, and adds some solution templates.
-
-Follow this procedure to install the _Avalonia for Visual Studio_ extension:
-
-- In Visual Studio click **Manage Extensions** on the **Extensions** top menu.
-- In the **Search** box, type 'Avalonia'.&
-- Click **Download** and follow the instructions (you will need to close Visual Studio while the VSIX installation runs).
-
-
-
-
-
-:::info
-Alternatively, without running Visual Studio, you can download the extension [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-:::
-
-:::info
-If you are using VS2019 or VS2017 you will need to download the extension for older versions [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
-:::
-
-You can now create your first _Avalonia UI_ app.
\ No newline at end of file
diff --git a/docs/get-started/install.md b/docs/get-started/install.md
deleted file mode 100644
index 6cef3660d..000000000
--- a/docs/get-started/install.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: install
-title: Install
----
-
-## Preinstallation
-
-Please start with the supported IDE of your choice installed. Avalonia supports Visual Studio, Rider, and Visual Studio
-Code.
-
-## Install Avalonia UI Templates
-
-The best way to get started with Avalonia is by creating an application using a project template.
-
-To install the [Avalonia templates](https://github.com/AvaloniaUI/avalonia-dotnet-templates), run the following command:
-
-```bash title='Bash'
-dotnet new install Avalonia.Templates
-```
-
-:::note
-For .NET 6.0 and earlier, replace `install` with `--install`
-:::
-
-To list the installed templates run
-
-```bash title='Bash'
- dotnet new list
-```
-
-You should see the installed Avalonia templates:
-
-```
-Template Name Short Name Language Tags
--------------------------------------------- -------------------------- ---------- ---------------------------------------------------------
-Avalonia App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia MVVM App avalonia.mvvm [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Web/Mobile
-Avalonia Resource Dictionary avalonia.resource Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Styles avalonia.styles Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia TemplatedControl avalonia.templatedcontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia UserControl avalonia.usercontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Window avalonia.window [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-```
-
-## Create a new Application
-
-Once the project templates are installed, you can create a new _Avalonia UI_ application from CLI by running the following command:
-
-```bash title='Bash'
-dotnet new avalonia.app -o MyApp
-```
-
-This will create a new folder called `MyApp` containing your application files. To run the application, navigate to the `MyApp` folder and run:
-
-```bash title='Bash'
-cd MyApp
-dotnet run
-```
-
-The project templates will also allow for project creation from your IDE.
-
-## Installation Troubleshooting
-
-### Ensure .NET SDK is installed
-
-```bash
-dotnet --list-sdks
-
-8.0.202 [C:\Program Files\dotnet\sdk] <-- Your version may vary
-```
-
-If `dotnet` is not a recognized program, then ensure you've installed your IDE first. Next, ensure that `dotnet` is
-associated with the terminal. On Windows, this involves checking environment variables: `echo %PATH%` in the command prompt or
-`echo $Env:PATH` in PowerShell.
-
-### Ensure NuGet source is correct
-
-If while installing the project templates, you receive an error stating the `Avalonia.Templates` package cannot be found,
-then ensure NuGet is correctly setup with .NET's standard global package source.
-
-```bash
-dotnet nuget list source
-
-Registered Sources:
- 1. nuget.org [Enabled]
- https://api.nuget.org/v3/index.json
-```
-
-If this source is not listed, add it:
-
-```bash
-dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
-```
-
-If the package install still fails despite NuGet being listed, then suspect a network connectivity or firewall issue.
diff --git a/docs/get-started/introduction.md b/docs/get-started/introduction.md
deleted file mode 100644
index 4a61ad2aa..000000000
--- a/docs/get-started/introduction.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-id: introduction
-title: Introduction
----
-
-import Highlight from '@site/src/components/Highlight';
-
-You can use this section to get started straight away with _Avalonia UI_ and _Visual Studio_. This will take you through a simple tutorial example step-by-step; and introduce you to some of the _Avalonia UI_ concepts and techniques.
-
-You do not need any prior knowledge of _Avalonia UI_ or other XAML-based frameworks to learn from this section. You will need _Microsoft Visual Studio_ installed.
-
-Click **Next** (right-arrow) to get started.
-
-:::info
-If you are a more experienced user, you may want to extend your knowledge of _Avalonia UI_ instead, by using our Basics section [here](../basics) or one of the How-To Guides [here](../guides).
-:::
diff --git a/docs/get-started/set-up-an-editor.md b/docs/get-started/set-up-an-editor.md
deleted file mode 100644
index b197dbe7f..000000000
--- a/docs/get-started/set-up-an-editor.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: set-up-an-editor
-title: Set Up an Editor
----
-
-import AvaloniaVsExtensionMarketplaceScreenshot from '/img/get-started/avalonia-vs-extension-marketplace.png';
-import AvaloniaVsExtensionNuGetScreenshot from '/img/get-started/avalonia-vs-extension-nuget.png';
-
-# Set Up an Editor
-
-You can create an Avalonia application using any code editor, but using an IDE will give you support for authoring Avalonia XAML files with a previewer and code completion.
-
-## Visual Studio
-
-If you're developing Avalonia with Visual Studio you should install the [Avalonia for Visual Studio](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS) extension.
-
-
-
-The extension provides enhanced editor support for Avalonia XAML together with a previewer.
-
-To install the Avalonia for Visual Studio extension:
-
-* In Visual Studio click **Manage Extensions** on the **Extensions** menu
-* In the **Search** box, type "Avalonia"
-* Click **Download** and follow the instructions (you will need to close Visual Studio to complete the installation)
-
-
-
-:::info
-Alternatively you can [download the extension from the Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-:::
-
-:::info
-If you are using VS2019 or VS2017 you will need to [download the version of extension for older Visual Studio versions](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
-:::
-
-## JetBrains Rider
-
-The [JetBrains Rider](https://www.jetbrains.com/rider/) IDE has built-in support for Avalonia XAML starting in 2020.3 including first-class support for Avalonia-specific XAML features and custom code inspections. Now that Rider is free for individual use, we strongly recommend it as the primary IDE for Avalonia development, especially for developers on macOS and Linux.
-
-Rider offers the most complete and polished development experience for Avalonia, with built-in features including:
-
-* Advanced XAML completion and navigation
-* Rich code analysis and quick-fixes
-* Comprehensive debugging tools
-* Built-in performance profiling
-
-### AvaloniaRider Plugin
-
-The 3rd party [AvaloniaRider](https://plugins.jetbrains.com/plugin/14839-avaloniarider) plugin adds the [Avalonia file templates](./install.md) to Rider, as well as enables live XAML preview functionality.
-
-While Rider includes native Avalonia XAML support out of the box, This plugin provides a live preview of your XAML changes as you type, similar to the preview feature available in Visual Studio and Visual Studio Code.
-
-Note that the plugin is optional - you can develop Avalonia applications in Rider without it, but the live preview capability and file templates makes XAML development more efficient.
-
-## Visual Studio Code
-
-The Avalonia for [Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia) contains basic support for Avalonia XAML autocomplete and previewer. While functional, the development experience is not as rich as what you'll find in Rider or Visual Studio. For developers on macOS and Linux requiring a full IDE experience, we recommend using JetBrains Rider instead.
-
-If you still prefer to use VS Code, you can install the extension from the [Visual Studio Code marketplace](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia).
-
-## Editor Comparison
-
-For the best Avalonia development experience:
-
-* **Windows**: Use either Visual Studio or JetBrains Rider
-* **macOS/Linux**: Use JetBrains Rider
-* **Lightweight Editor**: Visual Studio Code can be used but offers a more limited feature set
diff --git a/docs/get-started/starter-tutorial/adding-a-control.mdx b/docs/get-started/starter-tutorial/adding-a-control.mdx
new file mode 100644
index 000000000..52d13b224
--- /dev/null
+++ b/docs/get-started/starter-tutorial/adding-a-control.mdx
@@ -0,0 +1,69 @@
+---
+id: adding-a-control
+title: Adding a control
+description: How to add a button to your temperature converter app. Part 2 of 7 the Avalonia starter tutorial.
+---
+
+import CalculateButtonLeft from '/img/get-started/calculate-button-left.png';
+import CalculateButtonCenter from '/img/get-started/calculate-button-center.png';
+
+# Adding a control
+
+The first step for our temperature converter app is to add a **control**. By “controls”, we mean UI elements that allow interaction with your app. Some examples of controls are buttons, sliders, checkboxes or menus.
+
+For more information on controls, see the [Controls reference page](/docs/reference/controls).
+
+## Inserting a button
+
+Let’s try replacing the text in the app with a button.
+
+1. Stop the app if it is still running.
+2. In the file **MainWindow.axaml**, locate this line:
+
+```xml
+
+```
+
+3. Replace the entire line with this:
+
+```xml
+Calculate
+```
+
+4. Run the app or check the previewer. You should now see a **Calculate** button in the app window.
+5. You can try hovering over or clicking the button to see how its appearance changes.
+
+
+
+
+
+## Setting the button's attributes
+
+Controls in Avalonia use XML attributes to specify their presentation and behavior.
+
+Your **Calculate** button is currently aligned against the left edge of the window. This is because the default value of the `HorizontalAlignment` attribute is `Left`. Let’s change this attribute to put the button in the center instead.
+
+1. In the file **MainWindow.axaml**, go to the line you added for the button:
+
+```xml
+Calculate
+```
+
+2. Add the `HorizontalAlignment` attribute to the `` tag. Set it to `Center`.
+
+```xml
+Calculate
+```
+
+3. Run the app or check the previewer. You should see that the Calculate button moves to the center of the window.
+
+
+
+
+
+On the next page of this tutorial, you will learn how to add multiple elements to your app using layout controls.
+
+
+
+
+
diff --git a/docs/get-started/starter-tutorial/adding-some-layout.mdx b/docs/get-started/starter-tutorial/adding-some-layout.mdx
new file mode 100644
index 000000000..ec61cbf99
--- /dev/null
+++ b/docs/get-started/starter-tutorial/adding-some-layout.mdx
@@ -0,0 +1,162 @@
+---
+id: adding-some-layout
+title: Adding some layout
+description: How to use layout controls to have multiple controls on your temperature converter app. Part 3 of 7 the Avalonia starter tutorial.
+---
+
+import TemperatureConverterTextOnly from '/img/get-started/temperature-converter-text-only.png';
+import TemperatureConverterBlueBorder from '/img/get-started/temperature-converter-blue-border.png';
+import TemperatureConverterEmptyGrid from '/img/get-started/temperature-converter-empty-grid.png';
+import TemperatureConverterFilledGrid from '/img/get-started/temperature-converter-filled-grid.png';
+
+# Adding some layout
+
+At this point, your temperature converter app has a single button in the center of the window. You cannot add any more elements, because each Avalonia window allows only one control in its content zone. (More on layout zones later, on the next page: [Customizing the Avalonia window](/docs/get-started/starter-tutorial/customizing-the-avalonia-window).)
+
+To place multiple UI elements in the window, you must use a **layout control.**
+
+For more information on layout controls, see the [Layout controls page](/docs/reference/controls/layout-controls).
+
+## Inserting a stack panel
+
+We can use the `StackPanel` layout control to place some text above the button.
+
+1. In the file **MainWindow.axaml**, enclose your `Button` with a `... ` tag.
+
+```xml
+
+ Calculate
+
+```
+
+2. Add a `TextBlock` above the Button. (You may recall the `TextBlock` tag from the default **MainWindow.axaml**—this control prints text in the window.) Set the attributes of the `TextBlock` as follows:
+
+- `Margin="5"`
+- `FontSize="24"`
+- `HorizontalAlignment="Center"`
+- `Text="Temperature Converter"`
+
+```xml
+
+
+
+
+ Calculate
+
+```
+
+3. Run the app or check the previewer. You should see the text “Temperature Converter” positioned above the **Calculate** button.
+
+
+
+
+
+4. Enclose the `TextBlock` with a `... ` tag. Set the attributes of the `Border` as follows:
+
+- `Margin="5"`
+- `CornerRadius="10"`
+- `Background="LightBlue"`
+
+```xml
+
+
+
+
+
+
+ Calculate
+
+```
+
+5. Run the app or check the previewer. You should see that the text “Temperature Converter” is now inside a rounded blue box.
+
+
+
+
+
+:::note
+By default, `StackPanel` arranges elements in a vertical stack. You can change this to horizontal by setting the `Orientation` attribute to `Horizontal`.
+:::
+
+## Inserting a grid
+
+Next, we’ll add a `Grid` layout control to our temperature converter app. `Grid` creates cells in rows and columns, into which you can place more controls.
+
+1. Stop the app if it is still running.
+2. In the file **MainWindow.axaml**, insert a `... ` tag between `` and ``.
+
+```xml
+
+
+
+
+
+
+
+ Calculate
+
+```
+
+We have specified some attributes for the `Grid`:
+
+- It has two columns and two rows.
+- Gridlines are visible.
+- Cell height automatically scales to match the content. Because the automatic height of an empty cell is zero, the `Grid` currently appears on your previewer as a horizontal straight line.
+
+
+
+
+
+## Inserting controls in the grid
+
+1. Insert `TextBlock` controls in the left cells of the grid, using the `Grid.Row` and `Grid.Column` attributes to assign the target cells. Use these text blocks to fill the cells with the text “Celsius” and “Fahrenheit”.
+
+:::note
+The first cell in a row or column of a `Grid` is numbered 0.
+:::
+
+```xml
+
+ Celsius
+ Fahrenheit
+
+```
+
+2. Insert `TextBox` controls in the right cells of the grid, again using the `Grid.Row` and `Grid.Column` attributes to assign the target cells. `TextBox` is a control that creates an area for keyboard input.
+
+```xml
+
+ Celsius
+
+ Fahrenheit
+
+
+```
+
+3. Run the app or check the previewer. You should see your text and input boxes added to the window, within the cells marked by the gridlines.
+
+
+
+
+
+On the next page of this tutorial, you will learn how to adjust the size of the app window.
+
+
+
+
+
diff --git a/docs/get-started/starter-tutorial/converting-data.mdx b/docs/get-started/starter-tutorial/converting-data.mdx
new file mode 100644
index 000000000..46e57b9a2
--- /dev/null
+++ b/docs/get-started/starter-tutorial/converting-data.mdx
@@ -0,0 +1,136 @@
+---
+id: converting-data
+title: Converting data
+description: How to use code-behind to execute a response when the button is clicked. Part 6 of 7 the Avalonia starter tutorial.
+---
+
+# Converting data
+
+To complete our temperature converter app, we need to give it the ability to take a numerical input and convert it into a different number using a specified formula.
+
+## Naming your controls
+
+To differentiate controls in your app, you can assign names to them. We’re going to do that for the `TextBox` controls.
+
+1. Stop the app if it is running.
+2. In the file **MainWindow.axaml**, locate the Celsius text box: ` `
+3. Add the `Name` attribute to the `` tag, like so:
+
+```xml
+
+```
+
+4. Locate the Fahrenheit text box: ` `
+5. Add the `Name` attribute to the `` tag, like so:
+
+```xml
+
+```
+
+## Getting input values
+
+Next, we need the app to be able to access values entered into the `Celsius` text box.
+
+1. In the code-behind file **MainWindow.axaml.cs**, locate the `Button_OnClick` event handler that you [created earlier](/docs/get-started/starter-tutorial/establishing-events-and-responses).
+2. Change the `Debug` statement to display the text entered into the `Celsius` text box, like so:
+
+```cs
+Debug.WriteLine($"Click! Celsius={Celsius.Text}");
+```
+
+3. Run the app again, in [debug mode if required by your IDE](/docs/get-started/starter-tutorial/establishing-events-and-responses).
+4. Click the **Calculate** button a few times.
+5. Change the number in the `Celsius` text box and click **Calculate** a few more times.
+6. Check the debug output. Confirm that the input values of the `Celsius` text box are being printed.
+
+## Implementing the conversion formula
+
+The final step is to program the app to apply the mathematical formula that converts a Celsius value to Fahrenheit, then print the calculated output in the Fahrenheit text box.
+
+In case you aren’t familiar with the Celsius-Fahrenheit conversion formula, it is:
+
+> Fahrenheit = Celsius * (9/5) + 32
+
+Here’s how we implement this logic in our C# code-behind.
+
+1. In the code-behind file **MainWindow.axaml.cs**, locate the `Button_OnClick` event handler you [created earlier](/docs/get-started/starter-tutorial/establishing-events-and-responses).
+2. Delete the `Debug` statement.
+3. (Optional) You can also delete the statement `using System.Diagnostics;` from the top of the file. It is no longer needed.
+4. Within the `Button_OnClick` event handler, add this code to validate the Celsius input is a number:
+
+```cs
+if (double.TryParse(Celsius.Text, out double C))
+```
+
+5. Within the `if` conditional clause, add this code to apply the conversion formula:
+
+```cs
+{
+ var F = C * (9d / 5d) + 32;
+```
+
+6. Add this code to print the output as text to the Fahrenheit text box, then close the conditional clause:
+
+```cs
+ Fahrenheit.Text = F.ToString("0.0");
+}
+```
+
+7. Add an `else` conditional clause to reset the text boxes to 0 in case of invalid input:
+
+```cs
+else
+{
+ Celsius.Text = "0";
+ Fahrenheit.Text = "0";
+}
+```
+
+8. Your completed event handler should look like this:
+
+```cs
+private void Button_OnClick(object? sender, RoutedEventArgs e)
+{
+ if (double.TryParse(Celsius.Text, out double C))
+ {
+ var F = C * (9d / 5d) + 32;
+ Fahrenheit.Text = F.ToString("0.0");
+ }
+ else
+ {
+ Celsius.Text = "0";
+ Fahrenheit.Text = "0";
+ }
+}
+```
+
+## Checking your work
+
+1. Run your **GetStartedApp**.
+2. Input the following numbers into the Celsius box, then click **Calculate**. Confirm the app returns the correct Fahrenheit values:
+
+| **Celsius** | **Fahrenheit** |
+| --- | --- |
+| -10 | 14.0 |
+| 0 | 32.0 |
+| 10 | 50.0 |
+| 21 | 69.8 |
+| 32.0 | 89.6 |
+
+3. Input something into the Fahrenheit box without altering the Celsius box. Confirm the app reverts the text in the Fahrenheit box to the formula output of the given Celsius value.
+4. Input “abc” into the Celsius box. Confirm the app resets both text boxes to 0.
+
+:::note
+Does it seem odd you that the app has the option to input numbers into the Fahrenheit box, but won’t convert them to Celsius? Not to worry—we’re going to make that box read-only in the exercises, coming up next.
+:::
+
+Congratulations! You have created a temperature converter app using Avalonia. More importantly, you now have a solid foundation in the basics of the Avalonia framework.
+
+You can get to work developing your own apps now, if you wish.
+
+Or, to test your knowledge on three short exercises, proceed to the last page of this tutorial.
+
+
+
+
+
diff --git a/docs/get-started/starter-tutorial/customizing-the-avalonia-window.mdx b/docs/get-started/starter-tutorial/customizing-the-avalonia-window.mdx
new file mode 100644
index 000000000..5112ba320
--- /dev/null
+++ b/docs/get-started/starter-tutorial/customizing-the-avalonia-window.mdx
@@ -0,0 +1,101 @@
+---
+id: customizing-the-avalonia-window
+title: Customizing the Avalonia window
+description: How to adjust the attributes of the Avalonia window. Part 4 of 7 the Avalonia starter tutorial.
+---
+
+import AvaloniaWindowLayout from '/img/get-started/avalonia-window-layout.png';
+import TemperatureConverterPortraitOrientation from '/img/get-started/temperature-converter-portrait-orientation.png';
+
+# Customizing the Avalonia window
+
+As [mentioned earlier](/docs/get-started/starter-tutorial), the Avalonia window is where your app will run on the target platform. In a .axaml file, the `... ` tag defines what goes in the window.
+
+## Layout zones
+
+Avalonia windows have four layout zones: (1) Margin, (2) Border, (3) Padding, and (4) Content.
+
+Some layout controls, like `StackPanel` which you used earlier, create smaller sub-windows with the same four layout zones.
+
+:::note
+Each Avalonia window only accepts one control in its content zone.
+:::
+
+
+
+
+
+## Default window attributes
+
+Like controls, windows in Avalonia have XML attributes that define their presentation and behavior.
+
+Scroll to the top of the file **MainWindow.axaml** and examine the `` opening tag. You can see that it contains some default settings.
+
+```xml
+
+```
+
+:::note
+The first few lines of the `` tag declare the XML namespaces used by Avalonia. We use the namespace aliases `x`, `vm`, `d` and `mc`.
+:::
+
+## Setting the window's attributes
+
+Let’s try adjusting the window’s dimensions so that it appears to be in portrait orientation, instead of landscape. This is something you may do when developing an app, to check how it looks on a mobile device.
+
+### Setting the previewer size
+
+Adjusting the values in `d:DesignWidth` and `d:DesignHeight` allows you to change the dimensions of the app in the live previewer, without affecting the actual dimensions of the window at runtime.
+
+1. In the file **MainWindow.axaml**, locate this line within the `... ` tag:
+
+```xml
+mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
+```
+
+2. Set `d:DesignWidth` to 400.
+3. Observe the previewer. You should see that the preview now resembles a mobile display.
+
+
+
+
+
+### Setting the runtime window size
+
+To adjust to dimensions of the runtime app window, you need to add `Width` and `Height` attributes to the `` opening tag.
+
+1. In the file **MainWindow.axaml**, go to the bottom line of the `` opening tag:
+
+```xml
+Title="GetStartedApp">
+```
+
+2. Add the attributes `Width="400"` and `Height="450"` under that line. Remember to move the angle bracket to the end.
+
+```xml
+Title="GetStartedApp"
+Width="400"
+Height="450">
+```
+
+3. Run the app. You should see that the app window now resembles a mobile display.
+
+:::note
+Most mobile platforms actually ignore window sizes and automatically resize windows to fit the screen. When developing, you won’t literally need to set a separate size for each target platform.
+:::
+
+On the next page of this tutorial, you will learn how to create event handling so that the button responds to clicks.
+
+
+
+
+
diff --git a/docs/get-started/starter-tutorial/establishing-events-and-responses.mdx b/docs/get-started/starter-tutorial/establishing-events-and-responses.mdx
new file mode 100644
index 000000000..6ddc86db2
--- /dev/null
+++ b/docs/get-started/starter-tutorial/establishing-events-and-responses.mdx
@@ -0,0 +1,106 @@
+---
+id: establishing-events-and-responses
+title: Establishing events and responses
+description: How to create an event handler to detect when the button is being clicked. Part 5 of 7 the Avalonia starter tutorial.
+---
+
+import MainWindowCodeBehindLocation from '/img/get-started/mainwindow-codebehind-location.png';
+import RiderRunDebugMode from '/img/get-started/rider-run-debug-mode.png';
+import VsDebugOutputClick from '/img/get-started/vs-debug-output-click.png';
+
+# Establishing events and responses
+
+Our temperature converter app now looks reasonably functional, but doesn’t do anything yet. The next thing we need is for the **Calculate** button to be able to respond to a user action, such as a click.
+
+## Creating an event handler with code-behind
+
+XAML files can be associated with a C# source file. This file is where we can code event handling for the button. We call this “code-behind”.
+
+1. In your IDE, browse your project directory for **Views → MainWindow.axaml → MainWindow.axaml.cs**. This is the C# source file behind the main window XAML.
+
+
+
+
+
+2. Open **MainWindow.axaml.cs**.
+3. Locate the `using` directives at the top of the file. At this point, there should only be the single line `using Avalonia.Controls;`. Add these two `using` directives:
+
+```cs
+using Avalonia.Interactivity;
+using System.Diagnostics;
+```
+
+4. Locate the line `public partial class MainWindow : Window` further down the file. This class currently contains only the constructor for the main window, `public MainWindow()`. Below the constructor, add the following code:
+
+```cs
+private void Button_OnClick(object? sender, RoutedEventArgs e)
+{
+ Debug.WriteLine("Click!");
+}
+```
+
+5. Your C# file should now look like this:
+
+```cs
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using System.Diagnostics;
+
+namespace GetStartedApp.Views;
+
+public partial class MainWindow : Window
+{
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ private void Button_OnClick(object? sender, RoutedEventArgs e)
+ {
+ Debug.WriteLine("Click!");
+ }
+}
+```
+
+6. Switch to your XAML file, **MainWindow.axaml**.
+7. Locate `` near the bottom of the file.
+8. Add `Click` as an attribute to the `` tag and associate it with `Button_OnClick`, like so:
+
+```xml
+Calculate
+```
+
+## Checking the event handler works
+
+To verify we’ve created the event handler correctly, we can check the debug output to confirm "Click!" is being printed when we click the **Calculate** button.
+
+
+
+ 1. Run GetStartedApp in debug mode.
+
+
+
+
+
+ 2. Open the **Debug Output** tab in the bottom panel.
+ 3. In the running app window, click the **Calculate** button a few times.
+ 4. You should see “Click!” being printed in the debug output in Rider.
+
+
+ 1. Go to the **Output** window, located by default under the split view. From the “Show output from:” dropdown menu, select **Debug**.
+ 2. Run the app.
+ 3. In the running app window, click the **Calculate** button a few times.
+ 4. You should see “Click!” printed in the output window.
+
+
+
+
+
+
+
+On the next page, you will learn how to implement the formula that converts temperatures from Celsius to Fahrenheit.
+
+
+
+
+
diff --git a/docs/get-started/starter-tutorial/exercises.mdx b/docs/get-started/starter-tutorial/exercises.mdx
new file mode 100644
index 000000000..b2eff58d3
--- /dev/null
+++ b/docs/get-started/starter-tutorial/exercises.mdx
@@ -0,0 +1,114 @@
+---
+id: exercises
+title: Exercises
+description: Test your knowledge of Avalonia on three coding exercises. Part 7 of 7 the Avalonia starter tutorial.
+---
+
+# Starter exercises
+
+Now that you have built a temperature converter app, try these three exercises to test your understanding of Avalonia.
+
+## Exercise 1: Change an existing attribute
+
+**Challenge level: ★**
+
+Make the gridlines invisible in **GetStartedApp**.
+
+
+ Hint
+
+ You specified `` in MainWindow.axaml.
+
+
+
+ Solution
+
+ In **MainWindow.axaml**, locate the `` opening tag. Change the `ShowGridLines` attribute to `False`.
+
+ ```xml
+
+ ```
+
+
+## Exercise 2: Add a new attribute
+
+**Challenge level: ★★**
+
+Make it impossible for a user to input text into the Fahrenheit text box in **GetStartedApp**.
+
+
+ Hint (1st)
+
+ Check the [API docs](https://api-docs.avaloniaui.net/) for more information on the `TextBox` control.
+
+
+
+ Hint (2nd)
+
+ Under the [API reference for `TextBox`](https://api-docs.avaloniaui.net/docs/T_Avalonia_Controls_TextBox), you’ll find the attribute `IsReadOnly`.
+
+
+
+ Solution
+
+ In **MainWindow.axaml**, locate the `` tag for the Fahrenheit box. Add the `IsReadOnly` attribute, and set it to `True`.
+
+ ```xml
+
+ ```
+
+
+## Exercise 3: Program a new event response
+
+**Challenge level: ★★★**
+
+Make **GetStartedApp** calculate the temperature conversion as the user types.
+
+
+ Hint (1st)
+
+ Check the [API docs](https://api-docs.avaloniaui.net/) for more information on the `TextBox` control.
+
+
+
+ Hint (2nd)
+
+ Under the [API reference for `TextBox`](https://api-docs.avaloniaui.net/docs/T_Avalonia_Controls_TextBox), you’ll find the event `TextChanged`.
+
+
+
+ Hint (3rd)
+
+ Your event handler is defined in the C# code-behind MainWindow.axaml.cs. It is also referenced by the XAML file MainWindow.axaml.
+
+
+
+ Solution
+
+ 1. In **MainWindow.axaml**, locate the `` tag for the Celsius box. Add the `TextChanged` event, and give the event a name, e.g. `Celsius_TextChanged`.
+
+ ```xml
+
+ ```
+ 2. In **MainWindow.axaml**, delete the entire line starting ``. It is no longer needed.
+
+ ~~`Calculate `~~
+
+ 3. In **MainWindow.axaml.cs**, locate the event handler line starting `private void`. Change the event name from `Button_OnClick` to whatever you named it in the XAML file, e.g. `Celsius_TextChanged`.
+
+ ```xml
+ private void Celsius_TextChanged(object? sender, RoutedEventArgs e)
+ ```
+
+ 4. Run the app to confirm that the value in the Fahrenheit box changes as you type in the Celsius box.
+
+
+Congratulations! You have completed this starter tutorial for Avalonia!
+
+## Further reading
+
+[Controls reference](/docs/reference/controls)
+
+[API documentation](https://api-docs.avaloniaui.net/)
diff --git a/docs/get-started/starter-tutorial/index.mdx b/docs/get-started/starter-tutorial/index.mdx
new file mode 100644
index 000000000..504640d3d
--- /dev/null
+++ b/docs/get-started/starter-tutorial/index.mdx
@@ -0,0 +1,50 @@
+---
+id: index
+title: Starter tutorial
+description: Learn the basics of Avalonia by building a temperature converter app. Part 1 of 7 the Avalonia starter tutorial.
+---
+
+import DocCardList from '@theme/DocCardList';
+import TemperatureConverterComplete from '/img/get-started/temperature-converter-complete.png';
+import MainWindowFileLocation from '/img/get-started/mainwindow-file-location.png';
+
+# Starter tutorial
+
+## Build a temperature converter app
+
+Now that you’re set up with an Avalonia project in your integrated development environment (IDE), as covered on the [Getting Started page](/docs/get-started#creating-your-first-project), we can go through some basic concepts and functionalities in Avalonia. We’re going to do that by turning the default Avalonia template into a temperature converter app.
+
+Follow through this tutorial to create the app. As you do so, you will learn about:
+
+
+
+
+
+
+
+## .axaml
+
+Notice the files in your project directory ending `.axaml`? That’s short for Avalonia XAML, a file extension unique to Avalonia that differentiates Avalonia files from standard XAML files.
+
+## Check your XAML previewer works
+
+If you have newly installed Avalonia in Visual Studio or JetBrains Rider, and you are new to IDE development in general, this may be a good time to check you can use the XAML previewer.
+
+See the [XAML previewers page](/docs/get-started/xaml-previewers) for how to enable and test the previewer.
+
+## Open the main window file
+
+In the **Views** folder of your project directory, open the file **MainWindow.axaml**. We will mainly be working on this file throughout this tutorial.
+
+
+
+
+
+Nearly everything in **MainWindow.axaml** goes between the `... ` XAML tag. This tag represents the Avalonia window, where your app will run on the target platform. We’ll look at Avalonia windows in more detail later, when we get to [customizing the Avalonia window](/docs/get-started/starter-tutorial/customizing-the-avalonia-window).
+
+Proceed to the next page of this tutorial to learn how to add a button to the app.
+
+
+
+
+
diff --git a/docs/get-started/test-drive/add-a-control.md b/docs/get-started/test-drive/add-a-control.md
deleted file mode 100644
index ffb586be9..000000000
--- a/docs/get-started/test-drive/add-a-control.md
+++ /dev/null
@@ -1,105 +0,0 @@
----
-id: add-a-control
-title: Add a Control
----
-
-import Highlight from '@site/src/components/Highlight';
-import CalculateButton from '/img/get-started/test-drive/calculate-button.png';
-import ButtonIntellisenseScreenshot from '/img/get-started/test-drive/button-intellisense.png';
-
-So far, the main window of your application displays only a text string. On this page, you will learn how to add some of the built-in controls that are part of Avalonia.
-
-## Button
-
-Avalonia contains a built-in control that creates a button. Follow this procedure to replace the text string currently in the `Window`'s content zone with a button control.
-
-- Stop the app if it is running.
-- Locate the highlighted line of XAML in the `MainWindow.xaml` file.
-```xml title='XAML'
-
-
-
-
-
-
-
- // highlight-next-line
-
-
-
-```
-
-- Replace the entire line with the following:
-```xml title='XAML'
- Calculate
-```
-- Your XAML should now look like this:
-```xml title='XAML'
-
-
-
-
-
-
-
- // highlight-next-line
- Calculate
-
-```
-
-:::tip
-If you're using the previewer, you will see the button appear in the preview pane as soon as the XAML is valid. You can
-also try hovering and clicking the `Button` to see it change appearance in different states.
-:::
-
-- Run the app to confirm that the presentation and behaviour of the button is the same at runtime.
-
-## Control Attributes
-
-XAML uses XML attributes to specify presentation and behavior for controls. These attributes can set properties, call
-methods, and call event handlers in the controls created by the XAML.
-
-For example, the `Button` is currently positioned hard against the left edge of the `Window`. This is a result
-of the default value (left) of its `HorizontalAlignment` property. Follow this
-procedure to set the `HorizontalAlignment` to centered instead.
-
-- Add a new attribute to the Button tag as follows:
-
-```xml title='XAML'
-Calculate
-```
-
-:::tip
-If you're using an IDE, notice how the Avalonia code completion guides you as you add attributes to the XAML.
-
-
-:::
-
-The `Button` should now move to the center of the window content zone. Horizontally because of the change and vertically
-because of the Button's default.
-
-:::info
-For full information about the complete range of Avalonia UI built-in controls, and their attributes, see the reference section [here](../../reference/controls).
-:::
-
-On the next page, you will learn how to create a more complex layout.
diff --git a/docs/get-started/test-drive/add-some-layout.mdx b/docs/get-started/test-drive/add-some-layout.mdx
deleted file mode 100644
index b23407d43..000000000
--- a/docs/get-started/test-drive/add-some-layout.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
----
-id: add-some-layout
-title: Add Some Layout
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-import StackPanelZonesDiagram from '/img/get-started/test-drive/stackpanel-zones.png';
-
-Avalonia provides a range of built-in controls to help you layout the visual elements of an application. On this page,
-you will see how to use some of these layout controls.
-
-At this stage, your application has a single button located in the content zone of the main window.
-
-In fact, an Avalonia `Window` allows only one control in its content zone. To show multiple visual elements, you
-must use a layout control that allows multiple controls within its content zone.
-
-## StackPanel
-
-The `StackPanel` control lays out a sequence of controls in the order they are defined in XAML. By default, it lays out
-in a vertical stack but this can be changed to horizontal with its `Orientation` property.
-
-
-
-```xml
-
- 1
- 2
-
-```
-
-## TextBlock
-
-The `TextBlock` control allows extensive styling of its contained text.
-
-To take the example forward, add a `StackPanel` as follows (include the preexisting `Button` XAML):
-
-```xml
-
-
-
-
-
-
-
-// highlight-start
-
-
-
-
-
-
- Calculate
-
- // highlight-end
-
-
-```
-
-
-
-:::info
-You can explore the other layout controls in Avalonia using the reference [here](../../reference/controls/layout-controls.md).
-:::
-
-On the next page, you will add some inputs to the middle of the window.
\ No newline at end of file
diff --git a/docs/get-started/test-drive/code-with-controls.md b/docs/get-started/test-drive/code-with-controls.md
deleted file mode 100644
index 303a09a42..000000000
--- a/docs/get-started/test-drive/code-with-controls.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-id: code-with-controls
-title: Code With Controls
----
-
-In this section, you will implement the core logic to update the Fahrenheit temperature based on the Celsius input.
-
-## Control Names
-
-Avalonia creates objects for each control defined in the XAML hierarchy. Your code can access these controls at runtime,
-but should be named for easy access.
-
-To add control names, follow this procedure:
-
-- Stop the app if it is running.
-- Locate the `TextBox` for Celsius.
-- Add the `Name` attribute like this:
-
-```xml
-
-```
-
-- Repeat the above for the Fahrenheit input:
-
-```xml
-
-```
-
-## Get Control Values in Code-Behind
-
-To access the `Text` value of the `celsius` input, follow this procedure:
-
-- Switch to the **MainWindow.axaml.cs** code-behind file.
-- Locate the `Button_OnClick` event handler.
-- Alter the `Debug` statement to display the text property of the `Celsius` input, like this:
-
-```csharp
-Debug.WriteLine($"Click! Celsius={Celsius.Text}");
-```
-
-- Run the app again (in debug mode) to confirm that you can see the value in the Celsius appear in the debug window.
-
-## Set Control Values in Code-Behind
-
-To use the simple formula that converts Celsius temperature to Fahrenheit, you will first need to ensure that the
-Celsius input text converts to a number. The formula is then:
-
-```
-Tf = Tc * (9/5) + 32
-```
-
-To add the conversion formula, follow this procedure:
-
-- Locate the `Button_OnClick` event handler.
-- Validate the Celsius input text as a number.
-- Use the conversion formula.
-- Update the `Text` in the Fahrenheit input.
-- Run the app to check your work.
-
-One implementation of the above is as follows:
-
-```csharp
-private void Button_OnClick(object? sender, RoutedEventArgs e)
-{
- if (double.TryParse(Celsius.Text, out double C))
- {
- var F = C * (9d / 5d) + 32;
- Fahrenheit.Text = F.ToString("0.0");
- }
- else
- {
- Celsius.Text = "0";
- Fahrenheit.Text = "0";
- }
-}
-```
-
-You can check your work using the following conversion table:
-
-| Celsius | Fahrenheit |
-|---------|------------|
-| -10 | 14.0 |
-| 0 | 32.0 |
-| 10 | 50.0 |
-| 21 | 69.8 |
-| 25 | 77.0 |
-| 32 | 89.6 |
-
-### Exercises
-
-You have now used an event handler to get and set control properties at runtime. Try some of these exercises:
-
-- Stop showing the gridlines (easy).
-- Stop the user from changing the text in the Fahrenheit input by setting the `IsReadOnly` attribute (easy).
-- Calculate the conversion as the user types into the Celsius input using the `TextChanged` event (moderate).
-
-:::info
-For full information about the complete range of Avalonia built-in controls, events and attributes, see the controls reference section [here](../../reference/controls/).
-:::
diff --git a/docs/get-started/test-drive/create-a-project.mdx b/docs/get-started/test-drive/create-a-project.mdx
deleted file mode 100644
index d58841a37..000000000
--- a/docs/get-started/test-drive/create-a-project.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: create-a-project
-title: Create and Run a Project
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-import VsFindAvaloniaTemplateScreenshot from '/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png';
-import VsNewAvaloniaProjectScreenshot from '/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png';
-import RiderRunScreenshot from '/img/get-started/test-drive/rider-toolbar-run.png';
-import InitialWindowScreenshot from '/img/get-started/test-drive/initial-window.png';
-
-import vscode1 from '/img/get-started/test-drive/vscode-command-new-project.png';
-import vscode2 from '/img/get-started/test-drive/vscode-select-project-template.png';
-import vscode3 from '/img/get-started/test-drive/vscode-name-new-project.png';
-import vscode4 from '/img/get-started/test-drive/vscode-create-project.png';
-import vscode6 from '/img/get-started/test-drive/vscode-select-csharp.png';
-import vscode7 from '/img/get-started/test-drive/vscode-launch-app.png';
-import vscode8 from '/img/get-started/test-drive/vscode-app-running.png';
-
-
-## Create the Project
-
-To get started, we're going to use the MVVM Avalonia template: `Avalonia MVVM Application` (or `avalonia.mvvm` in the CLI).
-
-
-
-
-1. On the Rider startup screen, select **New Solution** to bring up the `New Solution` Wizard. If you have installed the [Avalonia Templates](../install.md), then you will see three options.
- * **Avalonia .NET App:** A template for desktop apps (Windows, macOS & Linux) that uses code-behind rather than MVVM.
- * **Avalonia .NET MVVM App:** A template for desktop apps (Windows, macOS & Linux) that uses MVVM (by default with RxUI).
- * **Avalonia Cross-Platform Application:** A template for all supported platforms (Windows, macOS, Linux, iOS, Android and WASM). This template requires additional workloads.
-
-2. In the sidebar, scroll down and select `Avalonia .NET MVVM App`
-
-3. Type `GetStartedApp` in the **Solution Name** field
-4. Click **Create**
-
-The template will create a new solution and project.
-
-
-
-
-
-- In **Visual Studio**, click **Create a new project**.
-- Type `Avalonia` in the search box.
-- Click **Avalonia Application** then click **Next**.
-
-
-
-- Name the project `GetStartedApp`, and click **Create**.
-
-- The next screen allows selecting the platforms you wish to target: click **Desktop** then click **Next**.
-
-- The next screen allows selecting a design pattern: click **ReactiveUI** then click **Create**.
-
-The template will create a new solution and two new projects. `GetStartedApp` is the main project that is shared between each platform. `GetStartedApp.Desktop` is the platform-specific project for the desktop platform.
-
-
-
-
-
- * Bring up the Command Palette using `⇧ ⌘ P` and then type ".NET" and find and select the **.NET: New Project** command.
-
- * After selecting the command, you'll need to choose the project template. Choose **Avalonia MVVM app**.
-
- * Name the project `GetStartedApp`, and press enter.
-
- * You'll need to provide a path for where the project should be created. Do this, and then press **Create project**
-
-
-
-Run the command:
-
-```bash title='Bash'
-dotnet new avalonia.mvvm -o GetStartedApp
-```
-
-This will create a new folder called `GetStartedApp` containing the new project.
-
-
-
-## Run the Project
-
-We're now ready to run the project!
-
-
-
-
-Press the **Run** button in the Rider toolbar:
-
-
-
-
-
-
- Right-click on the `GetStartedApp.Desktop` project and select **Set as Startup Project**.
-
- Hit `F5` to run the project.
-
-
-
- * Hit `F5` to run the project and Select `C#` as the debugger
-
- * Select **C#: GetStartedApp Demo** to launch the application with the debugger connected.
-
-
-
-Go into the `GetStartedApp` directory and run:
-
-```bash title='Bash'
-dotnet run
-```
-
-
-
-The solution will build and run.
-
-You should now be running your first Avalonia application!
-
-
diff --git a/docs/get-started/test-drive/index.md b/docs/get-started/test-drive/index.md
deleted file mode 100644
index 1e0ad1c3c..000000000
--- a/docs/get-started/test-drive/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Test Drive
-
-import {DocsCardList} from '../../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
diff --git a/docs/get-started/test-drive/input-controls.md b/docs/get-started/test-drive/input-controls.md
deleted file mode 100644
index f605e5238..000000000
--- a/docs/get-started/test-drive/input-controls.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-id: input-controls
-title: Input Controls
----
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-On this page, you will learn how to add input controls and arrange them in a neatly aligned layout. The aim is to add
-numerical inputs with labels and an output control following in the row below.
-
-To achieve this layout, you will use the built-in `Grid` control to create cells and assign our controls to those cells.
-
-The following picture shows the finished application at runtime with the gridlines showing for layout visualization purposes. Normally,
-these are invisible on a production UI.
-
-
-
-To create a layout using the `Grid` control with 2 columns and 3 rows, follow this procedure:
-
-- Stop the app if it is running.
-- Locate the empty line in the XAML between `` and ``
-- Insert a `` tag as shown:
-
-```xml
-
-
-
-
- // highlight-start
-
-
- // highlight-end
- Calculate
-
-```
-
-This assigns the number of rows and columns, their sizes, and makes the gridlines visible. Currently, it will show as a
-straight line because the grid cells are empty. The `Auto` rows size to their content and will have zero height until
-content is added.
-
-- Add `` and `` (text input) controls to the `Grid`'s children as shown:
-
-```xml
-
- // highlight-start
- Celsius
-
- Fahrenheit
-
- // highlight-end
-
-```
-
-To complete the layout, tidy up the alignment of the controls in the `Grid` using their `Margin` property. Also, move
-the `Button` inside the `Grid`.
-
-```xml
-
- // highlight-start
- Celsius
-
- Fahrenheit
-
- Calculate
- // highlight-end
-
-```
-
-- Run the app to see the result
-
-:::info
-For full information about the complete range of Avalonia built-in controls, and their attributes, see the reference section [here](../../reference/controls/).
-:::
-
-On the next page, you will see how to improve your design-time experience by adjusting the size window when it is shown in the preview pane.
diff --git a/docs/get-started/test-drive/introduction.mdx b/docs/get-started/test-drive/introduction.mdx
deleted file mode 100644
index 80acbaf38..000000000
--- a/docs/get-started/test-drive/introduction.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: introduction
-title: Introduction
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-
-You can use this section to get started right away with Avalonia. This will take you through a simple tutorial example,
-step-by-step, and introduce you to some of the Avalonia concepts and techniques.
-
-You do not need any prior knowledge of Avalonia or other XAML-based frameworks to learn from this section.
-
-Click the Next button to get started.
-
-:::info
-If you are a developer experienced with using XAML and Avalonia project creation, you may want to skip ahead to our Basics
-section [here](../../basics) or one of the How-To Guides [here](../../guides).
-:::
-
-## Prerequisites
-
-### Install Templates
-
-Before starting, ensure that you have [installed the Avalonia templates](../install.md):
-
-```bash title='Bash'
-dotnet new install Avalonia.Templates
-```
-
-
-
- [JetBrains Rider](https://www.jetbrains.com/lp/rider-avalonia/) provides native support for Avalonia XAML, offering a rich development experience without requiring additional extensions.
-
- For real-time XAML preview capabilities, you can enhance your workflow by installing the optional Avalonia Rider plugin.
-
-
-
-
-
- Visual Studio 2022 users can enhance their Avalonia development experience by installing our official extension from the Visual Studio Marketplace.
-
- The extension provides XAML code completion and an integrated live previewer, allowing you to see your UI updates in real-time.
-
-
-
-
-
-
- While we maintain a [Visual Studio Code](https://code.visualstudio.com/) extension that provides basic XAML support and a live previewer, we recommend using [JetBrains Rider](https://www.jetbrains.com/lp/rider-avalonia/) for the best possible development experience with Avalonia.
-
- However, if you prefer to continue with Visual Studio Code, you can install our extension from the marketplace.
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/get-started/test-drive/main-window.mdx b/docs/get-started/test-drive/main-window.mdx
deleted file mode 100644
index 9d8e9e48a..000000000
--- a/docs/get-started/test-drive/main-window.mdx
+++ /dev/null
@@ -1,133 +0,0 @@
----
-id: main-window
-title: The Main Window
----
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-import LayoutZonesDiagram from '/img/concepts/layout/layout-zones.png';
-import ViewModelScreenshot from '/img/get-started/test-drive/main-window-viewmodel.png';
-import AppRunningScreenshot from '/img/get-started/test-drive/main-window-app-running.png';
-import VsPreviewerScreenshot from '/img/get-started/test-drive/vs-previewer.png';
-import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane.png';
-
-You can now start your tour of an Avalonia project. We'll start with the main application window. Open the **MainWindow.axaml** file.
-
-:::info
-In Avalonia, XAML files have the extension **.axaml** (and not .xaml). This represents 'Avalonia XAML' and
-the file extension was introduced for technical reasons.
-:::
-
-## What is Happening?
-
-In the **MainWindow.axaml** XAML file, the `... ` XAML tag represents an Avalonia window. Like other
-Avalonia controls; the window will be drawn on the target platform with 4 **layout zones**: margin, border, padding and content.
-
-
-
-## The MainWindow Content
-
-Inside the Windows Content, you will see a `... ` XAML tag. This represents a `TextBlock` control which draws
-`Text` to the screen. The `Text` property of the `TextBlock` is bound to the **Greeting** property of
-the **MainViewModel** class.
-
-:::note
-The class name may appear as either:
-- `MainViewModel`
-- `MainWindowViewModel`
-
-Check which template your project uses to confirm the correct name.
-:::
-
-```xml title='XAML'
-
-```
-
-You can change the text in the file **MainWindowViewModel.cs** to see the change reflected in the user interface.
-
-```csharp title='C#'
-namespace GetStartedApp.ViewModels;
-
-public class MainWindowViewModel : ViewModelBase
-{
- public string Greeting => "Welcome to Avalonia! This is my added text.";
-}
-```
-
-
-
-:::info
-For more information about the concept of control layout zones, see [here](../../concepts/layout/layout-zones).
-:::
-
-## The XAML Previewer
-
-If you're using an IDE with one of our IDE Extensions installed, such as Rider, Visual Studio or Visual Studio Code, you can see live changes to your XAML code in the previewer view.
-
-The XAML Previewer creates an instance of your app in a special authoring mode, known as design mode. When your app runs in design mode, it can execute special logic that enables coordination with the visual designer. `Design.IsDesignMode`
-
-
-
- Navigate to the **MainWindow.axaml** file and click the **Split View** button at the top right of the editor window.
-
-
-
-
-
- - Build the project.
-
-
-
-
-
-
-Navigate to the **MainView.axaml** file and click the **Split View** button at the top of the editor window.
-
-
-
-:::info
-There may be a red exclamation icon (top left) and the message **The designer is loading...**. This indicates that the project must be built before the preview pane will respond.
-:::
-
-- Build the project.
-- Scroll the preview pane to the left to view the preview outline and the text displayed in the top left corner.
-
-
-
-
-
-
-- Remove the binding `{Binding Greeting}` and change the text ` `
-
-You will see the new text in the preview pane change as you type. This is an example of the Avalonia **design-time preview behaviour** that will help you develop user interface presentation accurately and quickly.
-
-- Run the project to see your new text also appear at runtime.
-
-On the next page, you will add a simple `Button` to the window.
diff --git a/docs/get-started/test-drive/response-to-an-event.mdx b/docs/get-started/test-drive/response-to-an-event.mdx
deleted file mode 100644
index d9f06eec5..000000000
--- a/docs/get-started/test-drive/response-to-an-event.mdx
+++ /dev/null
@@ -1,115 +0,0 @@
----
-id: respond-to-an-event
-title: Respond to an Event
----
-import useBaseUrl from '@docusaurus/useBaseUrl';
-import EventDebugOutputScreenshot from '/img/get-started/test-drive/event-debug-output.png';
-import RiderDebugButton from '/img/get-started/test-drive/rider-toolbar-debug.png';
-
-
-
-There are a number of ways you can implement actions in an Avalonia application. On this page, you will see how to use
-one of the simplest: how to write event handling code for a button click.
-
-To start, you will write a button click event handler that does not interact with any of the other controls.
-
-## Code-Behind
-
-XAML files can have C# source files associated with it referred to as by "code-behind". Code-behind is used to access
-named controls and handle events for its associated XAML. When using an IDE, you can find this file in
-the **Solution Explorer** as a sub-item of the `.axaml` file.
-
-
-
-To change the code-behind for `MainWindow`:
-
-- Open the `MainWindow.axaml.cs` file
-
-You should see C# code like this:
-
-```csharp
-using Avalonia.Controls;
-
-namespace GetStartedApp.Views;
-
-public partial class MainWindow : Window
-{
- public MainWindow()
- {
- InitializeComponent();
- }
-}
-```
-
-The partial class `MainWindow` corresponds to the `Window` created by Avalonia as a result of the XAML you already
-have. The namespace and class name must be the same in both XAML and code-behind. You can find this class name in the
-root XAML tag:
-
-```xml
-
-
-```
-
-To add an event handler for the `Button`, follow this procedure:
-
-- Locate the `MainWindow` constructor in the code-behind file (see above instructions).
-- After the constructor, add the following code:
-
-```csharp
-private void Button_OnClick(object? sender, RoutedEventArgs e)
-{
- Debug.WriteLine("Click!");
-}
-```
-
-This will require the following using statements:
-
-```cs
-using Avalonia.Interactivity;
-using System.Diagnostics;
-```
-
-- Switch to the XAML file and locate the `` tag.
-- Enter the `Click` attribute at the end of the tag, as follows:
-
-```xml
-Calculate
-```
-
-- Run the app in Debug mode and click the Calculate button.
-
-
-
-
-
-
- You should see the result on the Output window for Debug, like this:
-
-
-
-
- You should see the result on the Output window for Debug, like this:
-
-
-
-
-
-
-
-
-On the next page, you will see how to use code-behind to read and change the properties of Avalonia controls at runtime.
diff --git a/docs/get-started/test-drive/the-design-preview.mdx b/docs/get-started/test-drive/the-design-preview.mdx
deleted file mode 100644
index 8b0a8fe69..000000000
--- a/docs/get-started/test-drive/the-design-preview.mdx
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: the-design-preview
-title: The Design Preview
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-On this page, you will explore the attributes of the `Window` and then use some of them to adjust the size of the `Window` when it is shown in the preview pane.
-
-Examine the XAML for the `` tag. It will look like this:
-
-```xml
-
-```
-
-The `Window` tag starts by defining some of the XML namespaces that Avalonia uses. The aliases 'x', 'd' and 'mc' are used.
-
-The design namespace 'd' allows the design-time attributes `d:DesignWidth` and `d:DesignHeight` to be set. In the above
-code sample, these have been set to make the preview look more like a mobile (portrait orientation) display.
-
-
-```xml
-
-```
-
-
-With these attributes set, the preview of the window now looks like this:
-
-
-
-Note that `d:DesignWidth` and `d:DesignHeight` only affect the size of the preview pane and do not change the size of the window at runtime.
-If you want the running application's window to start with a specific size, then add the `Width` and `Height` properties on the `Window` element as follows:
-
-```xml
-
-```
-
-On the next page, you will learn how to add some action to the app by responding to the `Button` `Click` event.
diff --git a/docs/get-started/xaml-previewers.mdx b/docs/get-started/xaml-previewers.mdx
new file mode 100644
index 000000000..f33eed9d4
--- /dev/null
+++ b/docs/get-started/xaml-previewers.mdx
@@ -0,0 +1,55 @@
+---
+id: xaml-previewers
+title: XAML previewers
+description: How to use XAML previewers when developing with Avalonia in a supported IDE.
+---
+
+import RiderXamlPreviewer from '/img/get-started/rider-xaml-previewer.png';
+import VsXamlPreviewer from '/img/get-started/vs-xaml-previewer.png';
+import TestXamlPreviewer from '/img/get-started/test-xaml-previewer.png';
+
+# XAML previewers
+
+XAML previewers are available in JetBrains Rider with the third-party AvaloniaRider plugin, as well as Visual Studio with the Avalonia for Visual Studio plugin. With a XAML previewer, you can view changes to your XAML code live as you work. We strongly recommend using one for the best development experience.
+
+## Enabling the XAML previewer
+
+If you are new to developing with IDEs, here's how to enable the XAML previewer in Rider and Visual Studio.
+
+
+
+ 1. In Rider, select a **.axaml** file from the top ribbon.
+ 2. On the right side of the top ribbon, click **Editor and Preview**.
+ 3. Build your project.
+
+
+
+
+
+
+ In Visual Studio, the XAML previewer is usually open by default. If it isn’t, follow these steps to enable it.
+
+ 1. In Visual Studio, open a **.axaml** file.
+ 2. Click **Split View** at the top of the editor window.
+ 3. Build your project.
+
+
+
+
+
+
+
+## Checking it works
+
+1. Open any **.axaml** file. For this example, we’re going to use **MainWindow.axaml** from the default Avalonia template.
+2. Locate the `... ` XAML tag near the bottom.
+3. Remove `{Binding Greeting}`. Change it to any text, e.g., "Nice preview!"
+4. You should see your text appear in the preview pane as you type.
+
+
+
+
+
+:::tip
+If the previewer is unresponsive to your changes, try building the project again.
+:::
\ No newline at end of file
diff --git a/docs/reference/jetbrains-rider-ide/README.md b/docs/reference/jetbrains-rider-ide/README.md
deleted file mode 100644
index df14772dd..000000000
--- a/docs/reference/jetbrains-rider-ide/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-description: REFERENCE
----
-
-# JetBrains Rider IDE
-
-The _JetBrains Rider_ IDE has built-in support for _Avalonia UI_ XAML starting in 2020.3 including first-class support for Avalonia-specific XAML features and custom code inspections.
-
-For more information about the _JetBrains Rider_ IDE, see the website [https://www.jetbrains.com/rider](https://www.jetbrains.com/rider/).
-
-For the _JetBrains Rider_ 2020.3 release announcement, see [here](https://www.jetbrains.com/rider/whatsnew/2020-3/#version-2020-3-avalonia-support).
-
diff --git a/docs/reference/jetbrains-rider-ide/jetbrains-rider-setup.md b/docs/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
deleted file mode 100644
index a22ce929b..000000000
--- a/docs/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-description: REFERENCE
----
-
-import RiderWelcomeScreenshot from '/img/reference/jetbrains-rider-ide/rider-welcome.png';
-import RiderInstallAvaloniaPluginScreenshot from '/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png';
-
-# JetBrains Rider Setup
-
-To set up _JetBrains Rider_ for developing with _Avalonia UI,_ follow this procedure:
-
-- Download and install the .NET SDK of your choice from _Microsoft_. This contains the runtime, development kit (compiler, etc) that is used to build _Avalonia UI_ applications.
-- Install the _Avalonia UI_ templates by running the command `dotnet new install Avalonia.Templates` from the command prompt on your machine.
-
-:::info
-For the latest .NET SDK downloads, see [here](https://dotnet.microsoft.com/download).
-:::
-
-:::info
-For SDK versions before .NET 7, you will need to run the command `dotnet new -i Avalonia.Templates`
-:::
-
-The output will look similar to this.
-
-```bash
-$ dotnet new install Avalonia.Templates
- Determining projects to restore...
- Restored /Users/danwalmsley/.templateengine/dotnetcli/v5.0.200/scratch/restore.csproj (in 706 ms).
-
-Templates Short Name Language Tags
-.....
-
-Avalonia Resource Dictionary avalonia.resource ui/xaml/avalonia/avaloniaui
-Avalonia Styles avalonia.styles ui/xaml/avalonia/avaloniaui
-
-Examples:
- dotnet new mvc --auth Individual
- dotnet new mstest
- dotnet new --help
- dotnet new avalonia.mvvm --help
-$
-```
-
-:::info
-To download _JetBrains Rider,_ see [here](https://www.jetbrains.com/rider/).
-:::
-
-Rider will give you the very best development experience available for _Avalonia UI_. It is available for Windows, Linux, and macOS. Rider supports XAML out of the box. However, if you want to use the XAML previewer, you will need the Avalonia plugin.
-
-## Install the Avalonia Plugin
-
-Once Rider loads you will see the **Welcome to JetBrains Rider** screen.
-
-- Click **Configure**, and then click **Plugins** on the dropdown menu.
-
-
-
-The **Preferences** screen will open.
-- Click **Marketplace** enter 'Avalonia' in the search. Click **AvaloniaRider** when it appears in the search results pane, then click **Install**.
-
-
-
-- After the installation has completed, click **Restart IDE** (button appears).
-
-Now _JetBrains Rider_ is ready to develop _Avalonia UI_ applications.
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md
deleted file mode 100644
index adfacdb7e..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-id: choose-a-solution-template
-title: Choose a Template
----
-
-import Highlight from '@site/src/components/Highlight';
-
-The _Avalonia for Visual Studio_ extension includes some solution templates that you can use to start an _Avalonia UI_ project. To get started, you will use the simplest of these templates.
-
-Follow this procedure to choose the template:
-
-- Run **Visual Studio** , click **Create a new project** .
-- Type 'Avalonia' in the search box.
-- Click **Avalonia Application** (the first item in the search results - for C#), then click **Next** .
-
-
-
-
-
-- Complete the **Configure you new project** dialog, and click **Create** .
-
-The template will create a new solution and project for you with the Avalonia UI dependencies set, and 5 files.
-
-
-
-
-
-You are now ready to explore the app.
\ No newline at end of file
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/getting-started.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/getting-started.md
deleted file mode 100644
index de5602b4c..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/getting-started.md
+++ /dev/null
@@ -1,34 +0,0 @@
-s---
-id: getting-started
-title: Starting with the CLI
----
-
-If you build your projects with the .NET CLI, then follow the procedures here to install the _Avalonia UI_ templates and create your first application.
-
-## Установка шаблонов Avalonia UI
-
-To install the _Avalonia UI_ templates, run the following command:
-
-```bash
-dotnet new install Avalonia.Templates
-```
-
-:::info
-Для .NET 6.0 или более ранней версии, замените `install` на `--install`
-:::
-
-## Создание нового Приложения
-
-Once the templates are installed, you can create a new _Avalonia UI_ application by running the following command:
-
-```bash
-dotnet new avalonia.app -o MyApp
-```
-
-Данная команда создаст папку с именем `MyApp`, включающую файлы вашего приложения. Для запуска приложения, перейдите в папку `MyApp` и выполните команду:
-
-```bash
-dotnet run
-```
-
-Поздравляем, ваше приложение запущено!
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.md
deleted file mode 100644
index 4c99021c3..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Get Started
-
-import {DocsCardList} from '../../../../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
\ No newline at end of file
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md
deleted file mode 100644
index 0c171939b..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: install-the-avalonia-extension
-title: Install the Avalonia Extension
----
-
-import Highlight from '@site/src/components/Highlight';
-
-To implement applications using _Avalonia UI_, you first need to install the _Avalonia for Visual Studio_ extension.
-
-
-
-
-
-The extension includes a designer with an XAML pane linked to a UI preview that is capable of updating what you see, as you write XAML. The extension also installs all the library files you need, provides Intellisense, and adds some solution templates.
-
-Follow this procedure to install the _Avalonia for Visual Studio_ extension:
-
-- In Visual Studio click **Manage Extensions** on the **Extensions** top menu.
-- In the **Search** box, type 'Avalonia'.&
-- Click **Download** and follow the instructions (you will need to close Visual Studio while the VSIX installation runs).
-
-
-
-
-
-:::info
-Alternatively, without running Visual Studio, you can download the extension [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-:::
-
-:::info
-If you are using VS2019 or VS2017 you will need to download the extension for older versions [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
-:::
-
-You can now create your first _Avalonia UI_ app.
\ No newline at end of file
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install.md
deleted file mode 100644
index d1b127e8f..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/install.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: install
-title: Установка
----
-
-## Установка шаблонов Avalonia UI
-
-Лучший выбором для начала работы с Avalonia - это создание приложение из шаблона.
-
-Для установки шаблонов Avalonia, выполните следующую команду:
-
-```bash
-dotnet new install Avalonia.Templates
-```
-
-:::note
-Для .NET 6.0 или более ранней версии, замените `install` на `--install`
-:::
-
-Для отображения списка установленных шаблонов выполните следующую команду:
-
-```bash
- dotnet new list
-```
-
-Вы должны увидеть следующие шаблоны Avalonia:
-
-```
-Template Name Short Name Language Tags
--------------------------------------------- -------------------------- ---------- ---------------------------------------------------------
-Avalonia App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia MVVM App avalonia.mvvm [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Web/Mobile
-Avalonia Resource Dictionary avalonia.resource Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Styles avalonia.styles Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia TemplatedControl avalonia.templatedcontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia UserControl avalonia.usercontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Window avalonia.window [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-```
\ No newline at end of file
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/introduction.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/introduction.md
deleted file mode 100644
index 4a61ad2aa..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/introduction.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-id: introduction
-title: Introduction
----
-
-import Highlight from '@site/src/components/Highlight';
-
-You can use this section to get started straight away with _Avalonia UI_ and _Visual Studio_. This will take you through a simple tutorial example step-by-step; and introduce you to some of the _Avalonia UI_ concepts and techniques.
-
-You do not need any prior knowledge of _Avalonia UI_ or other XAML-based frameworks to learn from this section. You will need _Microsoft Visual Studio_ installed.
-
-Click **Next** (right-arrow) to get started.
-
-:::info
-If you are a more experienced user, you may want to extend your knowledge of _Avalonia UI_ instead, by using our Basics section [here](../basics) or one of the How-To Guides [here](../guides).
-:::
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md
deleted file mode 100644
index f505b4906..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: set-up-an-editor
-title: Настройка Редактора
----
-
-import AvaloniaVsExtensionMarketplaceScreenshot from '/img/get-started/avalonia-vs-extension-marketplace.png';
-import AvaloniaVsExtensionNuGetScreenshot from '/img/get-started/avalonia-vs-extension-nuget.png';
-
-# Настройка редактора
-
-Вы можете создавать приложения на Avalonia в любом редакторе кода, но мы настоятельно рекомендуем использовать IDE с поддержкой Avalonia XAML, предварительным просмотром и другими полеными функциями.
-
-## JetBrains Rider
-
-
-Среда разработки [JetBrains Rider](https://www.jetbrains.com/rider/), имеет встроенную поддержку Avalonia XAML с версии 2020.3, а также имеет отличную поддержку специфичных для Avalonia XAML функций и пользовательского кода.
-
-Rider не имеет встроенного предпросмотра, но он находится в разработке. Смотрите [GitHub проект](https://github.com/ForNeVeR/AvaloniaRider) для дополнительной информации и инструкции по установке.
-
-## Visual Studio
-
-Для поддержки Avalonia, необходимо установить расширение [Avalonia для Visual Studio](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-
-
-
-Расширение поддерживает IntelliSense для Avalonia XAML и предварительный просмотр.
-
-Установка расширения:
-
-- В Visual Studio выбирете в меню **Расширения** -> **Управление расширениями**
-- В поле **Поиск** введите "Avalonia"
-- Нажмите **Загрузить** и следуйте инструкциям (для завершения установки, потребуется закрыть IDE)
-
-
-
-:::info
-Также вы можете скачать расширение [здесь](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-:::
-
-:::info
-Если вы используете VS201 или VS2019, то вам нужно скачать [старую версию расширения](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
-:::
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md
deleted file mode 100644
index a0edce562..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: add-a-control
-title: Добавление Control
----
-
-import Highlight from '@site/src/components/Highlight';
-import CalculateButton from '/img/get-started/test-drive/calculate-button.png';
-import ButtonIntellisenseScreenshot from '/img/get-started/test-drive/button-intellisense.png';
-
-Сейчас ваше основное окно отображает одну единствуенную строку.
-В этом разделе вы узнаете, как добавить встроенный в _Avalonia_ элемент управления.
-
-## Button (рус: Кнопка)
-
-Avalonia включает в себя готовый элемент _кнопки_. Для его добавления выполните последовательность, изложенную ниже.
-
-- Остановите приложение, если оно запущено.
-- В файле `MainView.axaml` найдите строку
- ` `
-- Удалите ее.
-- Добавьте тег 'Button', как показано ниже:
-```xml
- Calculate
-```
-
-
-:::tip
-Если вы используете превьювер (Avalonia Previewer), то кнопка появится на панели сразу, как только измените XAML-файл.
-Также вы можете навести курсор и нажать на кнопку, чтобы увидеть как она изменится визульно.
-:::
-
-- Запустите приложение и убедитесь, что предварительный просмотр и запущенное приложение, имеют одинаковый вид.
-
-## Атрибуты Control
-
-Avalonia XAML использует атрибуты для изменения вида и поведения элементов. Атрибуты могут изменять свойства, вызывать методы и события.
-
-К примеру, как можно заметить, добавленная вами кнопка находится в левом краю экрана. Это значение ее свойства по-умочанию, для выравнивания по центру горизонтали, выполните следующие действия:
-
-
-- Добавьте атрибут в тэг Button:
-
-```xml
-Calculate
-```
-
-:::tip
-При использовании IDE, вы можете увидеть подсказки по названию атрибутов элемента при вводе внутри XAML.
-
-
-:::
-
-Теперь кнопка переместится в центр по горизонтали.
-
-:::info
-Детально ознакомиться с элементами управления и их аттрибутами, вы можете в [справочном разделе](../../reference/controls).
-:::
-
-На следующей странице мы разберем, как добавить несколько элементов.
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.md
deleted file mode 100644
index a97d19598..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: add-some-layout
-title: Добавление Нескольких Элементов
----
-
-import StackPanelZonesDiagram from '/img/get-started/test-drive/stackpanel-zones.png';
-import TemperatureStackPanelScreenshot from '/img/get-started/test-drive/temperature-stackpanel.png';
-
-Avalonia содержит встроенные элементы. На это страницу вы увидите некоторые из них, а также как их использовать.
-
-Сейчас, на вашем экране одна единственная кнопка.
-
-Avalonia позволяет добавлять **только один** элемент внутри содержимого окна. Для добавления нескольких элементов, следует исользовать встроенные элементы компоновки, допускающие использование нескольких дочерних элементов.
-
-## Stack Panel
-
-Данный элемент размещает дочерние элементы последовательно по вертикали.
-
-
-
-```xml
-
- 1
- 2
-
-```
-
-## Text Block
-
-Блок текста позволяет производить любые манипуляции с содержащимся в нем тексте.
-
-```xml
-
-
-
-
-
-
-
- Calculate
-
-```
-
-
-
-:::info
-Для ознакомления с другими элементами компоновки, перейдите по [ссылке](../../reference/controls/layout-controls.md).
-:::
-
-Не следующей страницу, вы добавить элементы ввода по центру окна.
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md
deleted file mode 100644
index fad36dcd1..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-id: code-with-controls
-title: Code With Controls
----
-
-import Highlight from '@site/src/components/Highlight';
-
-На этой странице вы узнаете, как обновить информацию температуры в Фаренгейтах, при изменении значения по Цельсия после каждого нажатия кнопки.
-
-## Именованные элементы (Control)
-
-
-Когда Avalonia создает основное окно при выполнении программы,
-она также создает объекты для каждого Controls, определенного в окне.
-Для получения доступа к этим Controls из кода, необходимо указать их имена.
-
-Для добавления имени, выполните следующую последовательность действий:
-
-- Завершите работу приложения, если оно запущено.
-- Найдите тег `TextBox` для Celsius.
-- Добавьте атрибут, как показано ниже:
-
-```xml
-
-```
-
-- Повторите действия для Fahrenheit:
-
-```xml
-
-```
-
-## Получение значения Control в Code-Behind
-
-Для демонстрации доступа к значению при изменении `celsius`, выполните следующие действия:
-
-* Переключтесь на файл **MainWindows.axaml.cs**.
-* Найдите событие `ButtonClicked`.
-* Измените вывод `Debug.WriteLine`, чтобы увидеть изменение свойства `celsius` в консоли, например:
-
-```csharp
-Debug.WriteLine($"Click! Celsius={celsius.Text}");
-```
-
-- Запустите приложение и убедитесь, что при изменении значения Celsius, в окне отладки выходит сообщение.
-
-## Изменение значения Control в Code-Behind
-
-Для использования формулы преобразования из температуры по Цельсия в градусы Фаренгейта, сперва необходимо преобразовать введенный текст по Цельсия в число, а затем использовать формулу:
-
-```
-Tf = Tc * (9/5) + 32
-```
-
-To add the conversion formula, follow this procedure:
-
-- Найдите событие `ButtonClicked`.
-- Добавьте проверку вводимого текста на число.
-- Добавьте формулу пересчета в Фаренгейты.
-- Получившееся значение укажите в Control Fahrenheit.
-- Запустите приложение и проверьте результат.
-
-Одна из возможных реализация:
-
-```csharp
-if (Double.TryParse(celsius.Text, out double C))
-{
- var F = C * (9d / 5d) + 32;
- fahrenheit.Text = F.ToString("0.0");
-}
-else
-{
- celsius.Text = "0";
- fahrenheit.Text = "0";
-}
-```
-
-Вы можете свериться с таблицей готовых значений:
-
-| Celsius | Farenheit |
-|---------|-----------|
-| -10 | 14.0 |
-| 0 | 32.0 |
-| 10 | 50.0 |
-| 21 | 69.8 |
-| 25 | 77.0 |
-| 32 | 89.6 |
-
-### Упражнения
-
-Теперь, когда вы умеете использовать обработку событий для получения и изменения свойств Controls во время выполнения программы, можно попробовать выболнить некоторые упражнения самостоятельно:
-
-* Отключить отображение сетки.
-* Запретите пользовательский ввод для Farenheit, установив атрибут `IsReadOnly`.
-* Добавьте пересчет поля Farenheit по мере изменения значения поля Celsius.
-
-:::info
-Подробную информацию о встроенных Controls, событиях и атрибутах, см. [здесь](../../reference/controls/).
-:::
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.md
deleted file mode 100644
index 7bee4c46d..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-id: create-a-project
-title: Создание и Запуск Проекта
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-import RiderSplashScreenshot from '/img/get-started/test-drive/rider-splashscreen.png';
-import RiderSolutionScreenshot from '/img/get-started/test-drive/rider-solution.png';
-import VsFindAvaloniaTemplateScreenshot from '/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png';
-import VsNewAvaloniaProjectScreenshot from '/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png';
-import RiderRunScreenshot from '/img/get-started/test-drive/rider-run.png';
-import InitialWindowScreenshot from '/img/get-started/test-drive/initial-window.png';
-
-## Установка шаблонов
-
-Перед началом работы, убедитесь, что у вас [установлены шаблоны Avalonia](../install.md):
-
-```bash
-dotnet new install Avalonia.Templates
-```
-
-## Создание проекта
-
-В начале, мы выберем самый простой шаблон Avalonia: `Avalonia Application` (или `avalonia.app` в CLI).
-
-
-
-Выполните команду:
-
-```bash
-dotnet new avalonia.app -o GetStartedApp
-```
-
-Команда создаст новый проект в папке `GetStartedApp` (если папки с таким именем нет, то она будет создана).
-
-
-
-- В окне запуска Rider, выберите **New Solution**
-
-
-
-- В боковой панели скрольте вниз и выберите **Avalonia App**
-- В поле **Solution Name** введите `GetStartedApp`
-- Нажмите **Create**
-
-Шаблон создаст новое решение и проект.
-
-
-
-
-
-
-- В **Visual Studio** нажмите **Create a new project**.
-- В поле поиска введите `Avalonia`.
-- Выберите **Avalonia Application** и нажмите **Next**.
-
-
-
-- Укажите название проекта `GetStartedApp`, затем нажмите **Create**.
-
-- На следующем экране вы можете выберать целевые платформы: нажмите **Desktop**, а затем **Next**.
-
-- На следубщем экране вы можете выбрать шаблон проектирования: нажмите **ReactiveUI**, а затем **Create**.
-
-Шаблон создаст решение и два новых проекта.
-`GetStartedApp` - основной проект, совместно используемый каждой платформой.
-`GetStartedApp.Desktop` - платформо-зависимый проект, в данном случае для `Desktop`
-
-
-
-
-
-
-## Запуск проекта
-
-Теперь вы можете запустить проект!
-
-
-
-Выберите и запустите проект `GetStartedApp`:
-
-```bash
-dotnet run
-```
-
-
-
-В Rider нажмите **Run** на панели инструментов:
-
-
-
-
-
-
-Нажмите правой кнопкой мыши по проекту `GetStartedApp.Desktop`, выберите **Set as Startup Project**.
-
- Для запуска проекта нажмите `F5`.
-
-
-
-
-Решение будет собрано и запущено.
-
-Теперь вы можете запустить ваше первое приложение на Avalonia!
-
-
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md
deleted file mode 100644
index ceec33a9c..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Test Drive
-
-import {DocsCardList} from '../../../../../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md
deleted file mode 100644
index ad0d6f21f..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: input-controls
-title: Input Controls (Controls для ввода данных)
----
-
-import InputControlsScreenshot from '/img/get-started/test-drive/input-controls.png';
-
-На этой странице вы узнаете, как добавить Input Controls.
-Цель: расположить по вертикали несколько сгруппированных по горизонтали Controls, таких как метка и Input Control.
-
-Для создания такой разметки, вам потребуется использовать `Grid`,
-внутри которого будут размещены Input Controls и их названия.
-
-На рисунке ниже показан конечный вариант интерфейса с отображением линий Grid.
-Линии показаны для наглядности, в обычной ситуации, вы не будете отображать их в программе.
-
-
-
-Для создания макета с помощью Grid, выполните следующие действия:
-
-* Завершите работу приложения, если оно запущено.
-* Найдите тег `` и удалите его вместе со всем содержимым.
-* Добавте тег ``, как показано ниже:
-
-```xml
-
-
-```
-
-Таким образом, мы задали размеры столбцов и строк для Grid, а также включили отображение линий сетки. (линии сетки будут отображаться прямыми линиями, поскольку внутри Grid ничего нет)
-
-- Добавьте `` и Input Controls в ячейки Grid, как показано ниже:
-
-```xml
-
- Celsius
-
- Fahrenheit
-
-
-```
-
-Теперь вы можете выровнять Controls внутри Grid, используя их свойство Margin.
-
-- Также переместите кнопку в Grid, как показано ниже:
-
-```xml
-
- Celsius
-
- Fahrenheit
-
- Calculate
-
-```
-
-- Запустите приложение и насладитесь результатом.
-
-
-
-:::info
-Подробную информацию по всем встроенным Controls и из аттрибуетам, см. [здесь](../../reference/controls/).
-:::
-
-На следующей странице вы узнаете, как настроить размеры окна в панели предварительного просмотра.
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.md
deleted file mode 100644
index 31f8d3761..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-id: introduction
-title: Вступление
----
-
-Данный раздел познакомит вас с азами работы на Avalonia, и позволит, следуя пошаговым инструкциям, создать первые учебные примеры. На них вы освоите некоторые концепции и фишки Avalonia.
-
-Для этого раздела вам не требуются какие-либо дополнительные знания об Avalonia или других фреймворков, использующих XAML.
-
-Для продолжение нажмите кнопку Следующая страница
-
-:::info
-Если вы опытный разработчик, то можете увелчить свои знания об Avalonia, изучая разделы [Основы](../../basics) и [Практические руководства](../../guides).
-:::
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.md
deleted file mode 100644
index 423b67c00..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: main-window
-title: The Main Window
----
-
-import LayoutZonesDiagram from '/img/concepts/layout/layout-zones.png';
-import ViewModelScreenshot from '/img/get-started/test-drive/main-window-viewmodel.png';
-import AppRunningScreenshot from '/img/get-started/test-drive/main-window-app-running.png';
-import VsPreviewerScreenshot from '/img/get-started/test-drive/vs-previewer.png';
-import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane.png';
-
-Теперь вы можете приступить к изучению проекта на Avalonia. Для начала, мы изучим основное окно приложения.
-Откройте файл **MainWindow.axaml**.
-
-:::info
-Обратите внимание, что Avalonia использует XAML-файлы с расширением **.axaml** (а не .xaml).
-Название расшифровывается как 'Avalonia XAML', и было введено по техническим причинам.
-:::
-
-## Что внутри?
-
-В файле **MainWindow.axaml**, тег ` ... ` обозначает окно.
-Как и другие Controls, окно будет отрисовано на целевой платформе с **4 зонами**: Margin, Border, Padding и Content.
-
-
-
-
-В текущем приложении, для зоны Content указана ссылка на другое view: ** **.
-Оно находится внутри файла MainView.axaml, и является User Control, который будет отображаться у окна внутри зоны **Content**.
-
-## The MainView User Control
-
-Внутри User Control, вы можете увидеть тег `... `.
-Он представляет собой блок текста, а его свойство `Text`, привязано к свойству **Greeting** класса **MainViewModel**.
-Данное свойство было задано в конструкторе класса.
-
-```
-
-```
-Вы можете изменить значение **Greeting** в **MainViewModel**,
-чтобы увидеть, как измениться отображаемый текст в интерфейсе.
-
-
-
-
-:::info
-Подробную информацию о зонах размемщения, см. [здесь](../../concepts/layout/layout-zones).
-:::
-
-## Предварительный просмотр в Visual Studio
-
-Если вы используете Visual Studio, то вы можете открыть окно с кодом XAML и окно предварительного просмотра.
-Откройте файл **MainWindow.axaml** и нажмите кнопку **Design View**, она находится в верхней части редактора.
-
-
-
-:::info
-Если вы видете значок красного восклицательного знака и сообщение **The designer is loading...**,
-то необходимо собрать проект, прежде чем панель предварительного просмотра сможет что-то отобразить.
-:::
-
-- Соберить проект.
-- Скрольте панель предварительного просмотра, чтобы увидеть окно и отображаемы текст, в его левом верхнем углу.
-
-
-
-- Удалите привязку `{Binding Greeting}` и измените текст `...`
-
-Вы увидите, как новый текст в панели предварительного просмотра меняется по мере ввода. Это пример работы предварительного просмотра во время проектирования Avalonia (**design-time preview behaviour**), который поможет вам точно и быстро разработать пользовательский интерфейс.
-
-- Запустите проект, чтобы убедиться, что новый текст также появляется по время выполнения программы.
-
-На следующей странице вы узнаете, как добавить обычную кнопку.
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.md
deleted file mode 100644
index 7f50f224c..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-id: respond-to-an-event
-title: Обработка событий
----
-
-import SolutionCodeBehindScreenshot from '/img/get-started/test-drive/solution-code-behind.png';
-import EventDebugOutputScreenshot from '/img/get-started/test-drive/event-debug-output.png';
-
-Есть несколько способов обработки событий на Avalonia.
-На этой странице вы узнаете, как использовать один из самых распостраненных: нажатие кнопки.
-
-В начале, вы напишите обработку нажатия кнопки, которое никак не взаимодействует с другими Controls.
-
-## Code-behind
-
-XAML файл главного окна, связан с файлом C#. Если вы используете IDE, то можете найти этот файл в *Solution Explorer (рус: обозреватель решений)* - подпункт файла `.axaml`.
-
-
-
-Для его изменения:
-
-- Откройте файл `MainWindows.axaml.cs`
-
-Вы увидите код C#, похожий на нижеуказанный:
-
-```csharp
-using Avalonia.Controls;
-
-namespace GetStartedApp
-{
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- }
- }
-}
-```
-
-Частичный класс `MainWindow`, соотстветстует объекту `Window`, который создается Avalonia UI
-на основании существующего файла XAML. Вы можете найти его по тегу:
-
-```xml
-
-
-```
-
-To add an event handler for the button, follow this procedure:
-- В файле `MainWindows.axaml.cs`, найдите конструктор `MainWindows` (инструкция была ранее)
-- Добавьте следующий код после конструктора:
-
-```csharp
-public void ButtonClicked(object source, RoutedEventArgs args)
-{
- Debug.WriteLine("Click!");
-}
-```
-
-Также необходимо подключить зависимости:
-
-```cs
-using Avalonia.Interactivity;
-using System.Diagnostics;
-```
-
-- Переключитесь на файл XAML и найдите тег ``
-- Добавить в него атрибут, как показано ниже:
-
-```xml
-
-
-```
-
-- Запустите приложение и нажмите кнопку.
-
-В окне отладки, вы дожны увидеть сообщения, например:
-
-
-
-На следующей странице вы узнаете, как использовать Code-Behind для чтение и изменения свойств Controls во время работы программы.
\ No newline at end of file
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.md b/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.md
deleted file mode 100644
index 293efa5c6..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: the-design-preview
-title: The Design Preview (Предварительный просмотр)
----
-
-import TemperatureDesignPreviewScreenshot from '/img/get-started/test-drive/temperature-design-preview.png';
-
-На этой странице вы познакомитесь с аттрибутами окна,
-а затем используете некоторые из них для настройки его отображения на панели предварительного просмотра.
-
-
-Проверьте в XAML наличие тега ``. Оно будет выглядеть следующим образом:
-
-```xml
-
-```
-
-Тег `` начинается с определения некоторых пространств имен XML, которые использует Avalonia.
-Также используются алиасы 'x', 'd' и 'mc'.
-
-Пространство имен 'd', позволяется указывать атрибуты для предварительного просмотра, такие как `d:DesignWidth` и `d:DesignHeight`. В примере выше, они указаны так, чтобы размеры походили на экран смартфона. (книжная ориентация)
-
-После установки новых значений, предварительный просмотр должен выглядеть так:
-
-
-
-На следующей странице вы узнаете, как добавить обработку пользовательских событий. (нажатие, касание и т.д.)
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md b/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md
deleted file mode 100644
index c1a5c2667..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-description: REFERENCE
----
-
-# JetBrains Rider IDE
-
-Среда разработки _JetBrains Rider_ имеет встроенную поддержку _Avalonia UI_ XAML, начиная с версии 2020.3, включая превосходную поддержку специфичных для Avalonia XAML-функций, а также специальные проверки в коде.
-
-Для детальной информации о _JetBrains Rider_, посетите сайт [https://www.jetbrains.com/rider](https://www.jetbrains.com/rider/).
-
-Больше о версии_JetBrains Rider_ 2020.3, см. [здесь](https://www.jetbrains.com/rider/whatsnew/2020-3/#version-2020-3-avalonia-support).
-
-_JetBrains Rider_ не имеет своего встроенного предварительного просмотра, но он находится в разработке. Для дополнительной информации и инструкции по установке предварительного просмотра, см. проект на _GitHub_ [здесь](https://github.com/ForNeVeR/AvaloniaRider).
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md b/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
deleted file mode 100644
index e35c389b5..000000000
--- a/i18n/ru/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-description: REFERENCE
----
-
-import RiderWelcomeScreenshot from '/img/reference/jetbrains-rider-ide/rider-welcome.png';
-import RiderInstallAvaloniaPluginScreenshot from '/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png';
-
-# Настройка JetBrains Rider
-
-Для добавления _Avaloni UI_ в
-To set up _JetBrains Rider_ for developing with _Avalonia UI,_ follow this procedure:
-
-- Загрузите и установите .NET SDK с сайта _Microsoft_.
-- Он включает в себя среду выполнения, инструменты разработки (компилятор и т.д.), необходимые для создания приложений на _Avalonia UI_.
-- Установите шаблоны _Avalonia UI_, запустив команду `dotnet new install Avalonia.Templates` from the command prompt on your machine.
-
-:::info
-Актуальную версию .NET SDK можно скачать [здесь](https://dotnet.microsoft.com/download).
-:::
-
-:::info
-Для версий SDK ниже .NET 7, необходимо выполнить команду `dotnet new -i Avalonia.Templates`
-:::
-
-Примерный результат команды:\
-
-```bash
-$ dotnet new install Avalonia.Templates
- Determining projects to restore...
- Restored /Users/danwalmsley/.templateengine/dotnetcli/v5.0.200/scratch/restore.csproj (in 706 ms).
-
-Templates Short Name Language Tags
-.....
-
-Avalonia Resource Dictionary avalonia.resource ui/xaml/avalonia/avaloniaui
-Avalonia Styles avalonia.styles ui/xaml/avalonia/avaloniaui
-
-Examples:
- dotnet new mvc --auth Individual
- dotnet new mstest
- dotnet new --help
- dotnet new avalonia.mvvm --help
-$
-```
-
-:::info
-Для загрузки _JetBrains Rider, см. [здесь](https://www.jetbrains.com/rider/).
-:::
-
-Rider предоставляет наибольшее удобство при работе с _Avalonia UI_.
-Он доступен на Windows, Linux и macOS. Rider поддердивает XAML "из коробки".
-Чтобы использовать функцию предварительного просмотра XAML, необходимо установить плагин для Avalonia.
-
-## Установка плагина для Avalonia
-
-После запуска Rider, на экране появится надвись **Welcome to JetBrains Rider**.
-
-- Нажмите **Configure**, а потом, в открывшемся меню, выберете **Plugins**
--
-
-
-Откроется окно **Preferences**.
-- Нажмите **Marketplace** и введите в поле поиска'Avalonia'. Найдите и выберете **AvaloniaRider**, после чего нажмите **Install**.
-
-
-
-- После завершения установки, нажмите **Restart IDE** (кнопка появится).
-
-Теперь _JetBrains Rider_ настроен для разработки приложений на _Avalonia UI_.
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md
deleted file mode 100644
index adfacdb7e..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/choose-a-solution-template.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-id: choose-a-solution-template
-title: Choose a Template
----
-
-import Highlight from '@site/src/components/Highlight';
-
-The _Avalonia for Visual Studio_ extension includes some solution templates that you can use to start an _Avalonia UI_ project. To get started, you will use the simplest of these templates.
-
-Follow this procedure to choose the template:
-
-- Run **Visual Studio** , click **Create a new project** .
-- Type 'Avalonia' in the search box.
-- Click **Avalonia Application** (the first item in the search results - for C#), then click **Next** .
-
-
-
-
-
-- Complete the **Configure you new project** dialog, and click **Create** .
-
-The template will create a new solution and project for you with the Avalonia UI dependencies set, and 5 files.
-
-
-
-
-
-You are now ready to explore the app.
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/getting-started.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/getting-started.md
deleted file mode 100644
index d89f191a5..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/getting-started.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: getting-started
-title: Starting with the CLI
----
-
-If you build your projects with the .NET CLI, then follow the procedures here to install the _Avalonia UI_ templates and create your first application.
-
-## Install Avalonia UI Templates
-
-To install the _Avalonia UI_ templates, run the following command:
-
-```bash
-dotnet new install Avalonia.Templates
-```
-
-:::info
-Note: For .NET 6.0 and earlier, you must use `--install` instead.
-:::
-
-## Create a new Application
-
-Once the templates are installed, you can create a new _Avalonia UI_ application by running the following command:
-
-```bash
-dotnet new avalonia.app -o MyApp
-```
-
-This will create a new folder called `MyApp` containing your application files. To run the application, navigate to the `MyApp` folder and run:
-
-```bash
-cd MyApp
-dotnet run
-```
-
-That is all there is to it! Your _Avalonia UI_ application is now up and running. Next you can open the `MyApp` folder to start improving and building your application further.
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/index.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/index.md
deleted file mode 100644
index e369a9e05..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# 开始使用
-
-import {DocsCardList} from '../../../../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md
deleted file mode 100644
index 0c171939b..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install-the-avalonia-extension.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: install-the-avalonia-extension
-title: Install the Avalonia Extension
----
-
-import Highlight from '@site/src/components/Highlight';
-
-To implement applications using _Avalonia UI_, you first need to install the _Avalonia for Visual Studio_ extension.
-
-
-
-
-
-The extension includes a designer with an XAML pane linked to a UI preview that is capable of updating what you see, as you write XAML. The extension also installs all the library files you need, provides Intellisense, and adds some solution templates.
-
-Follow this procedure to install the _Avalonia for Visual Studio_ extension:
-
-- In Visual Studio click **Manage Extensions** on the **Extensions** top menu.
-- In the **Search** box, type 'Avalonia'.&
-- Click **Download** and follow the instructions (you will need to close Visual Studio while the VSIX installation runs).
-
-
-
-
-
-:::info
-Alternatively, without running Visual Studio, you can download the extension [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS).
-:::
-
-:::info
-If you are using VS2019 or VS2017 you will need to download the extension for older versions [here](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio).
-:::
-
-You can now create your first _Avalonia UI_ app.
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install.md
deleted file mode 100644
index 4f5b0b481..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/install.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-id: install
-title: 安装
----
-
-## 预先安装
-
-请先安装您选择的受支持的 IDE。Avalonia 支持 Visual Studio、Rider 和 Visual Studio Code。
-
-## 安装 Avalonia UI 模板
-
-开始使用 Avalonia 的最佳方式是用项目模板创建一个应用程序。
-
-要安装 [Avalonia 模板](https://github.com/AvaloniaUI/avalonia-dotnet-templates),请运行以下命令:
-
-```bash title='Bash'
-dotnet new install Avalonia.Templates
-```
-
-:::note
-对于 .NET 6.0 及更早版本,请将 `install` 替换为 `--install`
-:::
-
-要列出已安装的模板,请运行
-
-```bash title='Bash'
-dotnet new list
-```
-
-您应该可以看到已安装的 Avalonia 模板:
-
-```
-Template Name Short Name Language Tags
--------------------------------------------- -------------------------- ---------- ---------------------------------------------------------
-Avalonia App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia MVVM App avalonia.mvvm [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Web/Mobile
-Avalonia Resource Dictionary avalonia.resource Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Styles avalonia.styles Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia TemplatedControl avalonia.templatedcontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia UserControl avalonia.usercontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-Avalonia Window avalonia.window [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS
-```
-
-## 创建新的应用程序
-
-项目模板安装完成后,您可以通过命令行运行以下命令创建一个新的 Avalonia UI 应用程序:
-
-```bash title='Bash'
-dotnet new avalonia.app -o MyApp
-```
-
-这会创建一个名为 `MyApp` 的新文件夹,其中包含您的应用程序文件。要运行应用程序,请导航到 `MyApp` 文件夹并运行:
-
-```bash title='Bash'
-cd MyApp
-dotnet run
-```
-
-项目模板还允许从您的 IDE 创建项目。
-
-## 安装故障排除
-
-### 确保已安装 .NET SDK
-
-确保您已经安装了 .NET SDK。您可以运行以下命令检查已安装的 .NET SDK 版本:
-
-```bash
-dotnet --version
-
-8.0.202 [C:\Program Files\dotnet\sdk] <-- 您的版本可能有所不同
-```
-
-如果 `dotnet` 不是可识别的程序,请确保您已经安装了 IDE。接下来,确保 `dotnet` 已关联到终端。在 Windows 上,这涉及检查环境变量:在命令提示符中运行 `echo %PATH%` 或在 PowerShell 中运行 `echo $Env:PATH`。
-
-### 确保 NuGet 源配置正确
-
-如果在安装项目模板时收到错误,提示 `Avalonia.Templates` 包无法找到,请确保 NuGet 已正确配置为 .NET 的标准全局包源。您可以运行以下命令检查 NuGet 源:
-
-```bash
-dotnet nuget list source
-
-注册的源:
- 1. nuget.org [已启用]
- https://api.nuget.org/v3/index.json
-```
-
-如果未列出此源,请运行以下命令添加 NuGet 源:
-
-```bash
-dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
-```
-
-如果 NuGet 已列出,但是包安装仍然失败,请考虑网络连接或防火墙问题。
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/introduction.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/introduction.md
deleted file mode 100644
index f4df60f3b..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/introduction.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-id: introduction
-title: 介绍
----
-
-import Highlight from '@site/src/components/Highlight';
-
-从这里开始,您可以直接使用_Avalonia UI_和_Visual Studio_开始。这将逐步为您介绍一个简单的教程示例,并向您介绍一些_Avalonia UI_的概念和技巧。
-
-您不需要任何关于_Avalonia UI_或其他基于XAML的框架的先前知识来学习本节内容。您需要安装_Microsoft Visual Studio_。
-
-点击**下一步** (右箭头)开始。
-
-:::info
-如果您是一位经验丰富的用户,您可能希望通过使用我们的基础知识部分[这里](../basics)或其中一个操作指南[这里](../guides)来扩展您对_Avalonia UI_的了解。
-:::
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md
deleted file mode 100644
index 83677a25c..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/set-up-an-editor.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: set-up-an-editor
-title: 设置编辑器
----
-
-import AvaloniaVsExtensionMarketplaceScreenshot from '/img/get-started/avalonia-vs-extension-marketplace.png';
-import AvaloniaVsExtensionNuGetScreenshot from '/img/get-started/avalonia-vs-extension-nuget.png';
-
-# 设置编辑器
-
-您可以使用任何代码编辑器创建 Avalonia 应用程序,但是使用 IDE 将为您提供 Avalonia XAML 预览器和代码补全的支持。
-
-## 推荐的IDE:JetBrains Rider
-
-[JetBrains Rider](https://www.jetbrains.com/rider/) IDE 从 2020.3 版本中开始内置对 Avalonia XAML 的支持,包括对 Avalonia 特定 XAML 功能和自定义代码检查的一流支持。现在 Rider 可供个人免费使用,我们强烈建议将其作为 Avalonia 开发的主要 IDE,尤其是对于 macOS 和 Linux 上的开发人员。
-
-Rider 为 Avalonia 提供了最完整、最精致的开发体验,其内置功能包括:
-
-* 高级 XAML 完成和导航
-* 丰富的代码分析和快速修复
-* 全面的调试工具
-* 内置性能分析
-
-### AvaloniaRider 插件
-第三方的 [AvaloniaRider](https://plugins.jetbrains.com/plugin/14839-avaloniarider) 插件为 Rider 添加了 [Avalonia 文件模板](./install.md) 功能。并启用实时 XAML 预览功能。
-
-虽然 Rider 开箱即用地包含原生 Avalonia XAML 支持,但此插件可在您键入时提供 XAML 更改的实时预览,类似于 Visual Studio 和 Visual Studio Code 中提供的预览功能。
-
-请注意,该插件是可选的 - 您可以在没有它的情况下在 Rider 中开发 Avalonia 应用程序,但实时预览功能使 XAML 开发更加高效。
-
-## Visual Studio
-
-如果您正在使用 Visual Studio 开发 Avalonia,您应该安装[Avalonia for Visual Studio](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS)扩展。
-
-
-
-该扩展提供了 Avalonia XAML 的智能感知支持以及预览功能。
-
-安装 Avalonia for Visual Studio 扩展的步骤如下:
-
-- 在 Visual Studio 中,点击**扩展**菜单上的**管理扩展**
-- 在**搜索**框中,输入"Avalonia"
-- 点击**下载**并按照说明进行操作(您需要关闭 Visual Studio 以完成安装)
-
-
-
-:::info
-您也可以在[此处](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS)下载扩展。
-:::
-
-:::info
-如果您使用的是VS2019或VS2017,您需要在[此处](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio)下载适用于旧版本的扩展。
-:::
-
-## Visual Studio Code
-Avalonia 的 [Visual Studio Code 扩展](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia) 包含对 Avalonia XAML 自动完成和预览器的基本支持。虽然功能齐全,但开发体验不如 Rider 或 Visual Studio 中那样丰富。对于需要完整 IDE 体验的 macOS 和 Linux 开发人员,我们建议改用 JetBrains Rider。
-
-如果您仍然喜欢使用 VS Code,则可以从 [Visual Studio Code 市场](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia) 安装扩展。
-
-## 编辑器比较
-
-为了获得最佳的 Avalonia 开发体验:
-
-* **Windows**: 使用 JetBrains Rider 或 Visual Studio
-* **macOS/Linux**: 使用 JetBrains Rider
-* **轻量级编辑器**: 可以使用 Visual Studio Code,但功能集较有限
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md
deleted file mode 100644
index bcb0bed34..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-id: add-a-control
-title: 添加控件
----
-
-import Highlight from '@site/src/components/Highlight';
-import CalculateButton from '/img/get-started/test-drive/calculate-button.png';
-import ButtonIntellisenseScreenshot from '/img/get-started/test-drive/button-intellisense.png';
-
-到目前为止,您的应用程序的主窗口只显示一个文本字符串。在本页中,您将学习如何添加一些 Avalonia 的内置控件。
-
-## Button
-
-Avalonia 包含一个内置控件,用于创建按钮。按照以下步骤,将当前在 `Window` 的内容区域中的文本字符串替换为按钮控件。
-
-- 如果应用程序正在运行,请停止它。
-- 在 `MainWindow.xaml` 文件中找到 XAML 的突出显示行。
-```xml title='XAML'
-
-
-
-
-
-
-
- // highlight-next-line
-
-
-
-```
-
-- 将整行替换为下面的内容:
-```xml title='XAML'
- Calculate
-```
-- 你的 XAML 文件现在应该看起来像这样:
-```xml title='XAML'
-
-
-
-
-
-
-
- // highlight-next-line
- Calculate
-
-```
-
-:::tip
-如果您正在使用预览器,只要 XAML 有效,您就能在预览窗格中看到按钮出现。您还可以尝试将鼠标悬停并单击按钮以查看它在不同状态下的外观变化。
-:::
-
-- 运行应用程序以确认按钮在运行时的呈现和行为是否相同。
-
-## 控件属性
-
-XAML 使用 XML 特性来指定控件的呈现和行为。这些特性可以通过 XAML 创建的控件中的属性、调用方法和事件处理程序。
-
-例如,您会注意到刚刚实现的按钮紧贴窗口的左边缘。这是其水平对齐属性的默认值(左对齐)的结果。按照以下步骤,将水平对齐设置为居中。
-
-- 在 Button 标签中添加一个新特性,如下所示:
-
-```xml
-Calculate
-```
-
-:::tip
-如果您正在使用 IDE,您可以注意到当您向 XAML 添加特性时,Avalonia 的智能感知会做出引导。
-
-
-:::
-
-按钮现在应该移动到窗口内容区域的中心。水平方向由于更改而移动,垂直方则为按钮的默认设置。
-
-:::info
-有关Avalonia UI内置控件及其属性的完整信息,请参考[此处](../../reference/controls)。
-:::
-
-在下一页中,您将学习如何创建更复杂的布局。
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.mdx
deleted file mode 100644
index 8971567a1..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-some-layout.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
----
-id: add-some-layout
-title: 添加一些布局
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-import StackPanelZonesDiagram from '/img/get-started/test-drive/stackpanel-zones.png';
-
-Avalonia提供了一系列内置的控件来帮助您布局应用程序的可视元素。
-在本页,您将看到如何使用其中一些布局控件。
-
-目前,您的应用程序在主窗口的内容区域中只有一个按钮。
-
-实际上,Avalonia 的 `Window` 只允许在其内容区域中放置一个控件。因此,为了显示多个可视元素,
-您需要使用一个内置的布局控件,从而在其内容区域中放置多个控件。
-
-## StackPanel
-
-`StackPanel` 按照在 XAML 中定义的顺序布局多个控件,
-默认情况下,它以垂直堆栈方式排列,但可以使用其 `Orientation` 属性将其更改为水平方向。
-
-
-
-```xml
-
- 1
- 2
-
-```
-
-## TextBlock
-
-`TextBlock` 控件使您可以对其包含的文本进行各种样式设置。
-
-为了继续示例,添加一个 `StackPanel`,如下(您可以包含现有的 `Button` XAML):
-
-```xml
-
-
-
-
-
-
-
-// highlight-start
-
-
-
-
-
-
- Calculate
-
- // highlight-end
-
-
-```
-
-
-
-:::info
-您可以从参考文档[这里](../../reference/controls/layout-controls.md)了解 Avalonia 中的其他布局控件。
-:::
-
-在下一页中,您将在窗口的中间添加一些输入控件。
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md
deleted file mode 100644
index 3d44b750e..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-id: code-with-controls
-title: 用代码修改控件
----
-
-在本章节,您将实现根据摄氏温度的输入值更新华氏温度的核心逻辑。
-
-## 控件名称
-
-Avalonia 会为每个 XAML 层级中定义的控件创建对象。您的代码可以在运行时访问这些控件,但是为了更容易访问它们,您需要为其命名。
-
-要添加控件名称,请按照以下步骤进行操作:
-
-- 如果应用程序正在运行,请停止它。
-- 找到摄氏度的 `TextBox` 控件。
-- 添加 `Name` 属性,如下所示:
-
-```xml
-
-```
-
-- 对于华氏度输入控件,重复上述步骤:
-
-```xml
-
-```
-
-## 在 Code-Behind 中获取控件值
-
-为了演示如何访问 `celsius` 输入的文本值,请按照以下步骤进行操作:
-
-- 切换到 **MainView.axaml.cs** 的 Code-Behind 文件。
-- 找到 `Button_OnClick` 事件处理程序。
-- 修改 `Debug` 语句以显示 `celsius` 输入的文本属性,如下所示:
-
-```csharp
-Debug.WriteLine($"Click! Celsius={Celsius.Text}");
-```
-
-- 以 debug 模式运行应用程序,确认您可以在调试窗口中看到摄氏度的值。
-
-## 在 Code-Behind 设置控件值
-
-为了使用将摄氏温度转换为华氏温度的简单公式,您需要首先确保将摄氏度输入文本转换为数字。公式如下:
-
-```
-Tf = Tc * (9/5) + 32
-```
-
-要添加转换公式,请按照以下步骤进行操作:
-
-- 找到 `Button_OnClick` 事件处理程序。
-- 检查摄氏度输入控件的文本是否可以转换为数字。
-- 使用转换公式。
-- 更新华氏度输入控件的 `Text` 。
-- 运行应用程序,检查您的工作。
-
-以下是上述操作的一种实现方式:
-
-```csharp
-private void Button_OnClick(object? sender, RoutedEventArgs e)
-{
- if (double.TryParse(Celsius.Text, out double C))
- {
- var F = C * (9d / 5d) + 32;
- Fahrenheit.Text = F.ToString("0.0");
- }
- else
- {
- Celsius.Text = "0";
- Fahrenheit.Text = "0";
- }
-}
-```
-
-您可以使用以下转换表来检查您的工作:
-
-| 摄氏度 | 华氏度 |
-|---------|------------|
-| -10 | 14.0 |
-| 0 | 32.0 |
-| 10 | 50.0 |
-| 21 | 69.8 |
-| 25 | 77.0 |
-| 32 | 89.6 |
-
-### 练习
-
-您现在已经使用事件处理程序在运行时获取和设置控件属性。您现在可以尝试一些练习:
-
-- 停止显示网格线(简单)。
-- 通过设置 `IsReadOnly` 属性,阻止用户更改华氏度输入的文本(简单)。
-- 当用户输入摄氏度时,通过 `TextChanged` 事件实时计算转换结果(中等)。
-
-:::info
-有关 Avalonia 内置控件、事件和属性的完整信息,请参阅[此处](../../reference/controls/)的控件参考部分。
-:::
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.mdx
deleted file mode 100644
index 79f2a615b..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/create-a-project.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: create-a-project
-title: 创建并运行项目
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-import VsFindAvaloniaTemplateScreenshot from '/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png';
-import VsNewAvaloniaProjectScreenshot from '/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png';
-import RiderRunScreenshot from '/img/get-started/test-drive/rider-toolbar-run.png';
-import InitialWindowScreenshot from '/img/get-started/test-drive/initial-window.png';
-
-import vscode1 from '/img/get-started/test-drive/vscode-command-new-project.png';
-import vscode2 from '/img/get-started/test-drive/vscode-select-project-template.png';
-import vscode3 from '/img/get-started/test-drive/vscode-name-new-project.png';
-import vscode4 from '/img/get-started/test-drive/vscode-create-project.png';
-import vscode6 from '/img/get-started/test-drive/vscode-select-csharp.png';
-import vscode7 from '/img/get-started/test-drive/vscode-launch-app.png';
-import vscode8 from '/img/get-started/test-drive/vscode-app-running.png';
-
-
-## 创建项目
-
-首先,我们将使用 Avalonia MVVM 模板:`Avalonia MVVM Application`(或是 CLI 中的`avalonia.mvvm`)。
-
-
-
-
-1. 在 Rider 启动界面上,选择 **New Solution** 以调出 `New Solution` 向导. 如果您安装了 [Avalonia Templates](../install.md),那么您将看到三个选项。
- * **Avalonia .NET App:** 使用 code-behind 而不是 MVVM 的桌面应用程序(Windows、macOS 和 Linux)模板。
- * **Avalonia .NET MVVM App:** 使用 MVVM(默认使用 RxUI)的桌面应用程序(Windows、macOS 和 Linux)模板。
- * **Avalonia Cross-Platform Application:** 适用于所有受支持平台(Windows、macOS、Linux、iOS、Android 和 WASM)的模板。此模板需要额外的工作负载。
-
-2. 在侧栏中,向下滚动并选择 `Avalonia .NET MVVM App`
-
-3. 在 **Solution Name** 字段中输入 `GetStartedApp`
-4. 点击 **Create**
-
-模板将创建一个新的解决方案和项目。
-
-
-
-
-
-- 在 **Visual Studio** 中, 点击 **创建新项目**。
-- 在搜索框中输入 `Avalonia`。
-- 点击 **Avalonia Application** 然后点击 **下一步**.
-
-
-
-- 将项目命名为 `GetStartedApp`, 然后点击 **创建**.
-
-- 下一个窗口用于您选择目标平台:点击 **Desktop** 然后点击 **Next**.
-
-- 下一个窗口用于选择一个设计模式: 点击 **ReactiveUI** 然后点击 **Create**.
-
-该模板将创建一个新的解决方案和两个新的项目。`GetStartedApp` 是各个平台之间共享的主项目。 `GetStartedApp.Desktop` 是针对桌面平台的平台特定项目。
-
-
-
-
-
- * 使用 `⇧ ⌘ P` 调出命令面板,然后输入 ".NET" 找到并选择 **.NET: New Project** 命令。
-
- * 选择命令后,您需要选择项目模板。 选择 **Avalonia MVVM app**。
-
- * 将项目命名为 `GetStartedApp`, 并输入回车。
-
- * 您需要提供创建项目的路径。 执行此操作,然后按 **Create project**
-
-
-
-运行命令:
-
-```bash title='Bash'
-dotnet new avalonia.mvvm -o GetStartedApp
-```
-
-这将创建一个名为 `GetStartedApp` 的新文件夹,其中包含新项目。
-
-
-
-## 运行该项目
-
-你现在可以运行该项目!
-
-
-
-
-按下 Rider 工具栏中的 **Run** 按钮:
-
-
-
-
-
-
- 右键单击 `GetStartedApp.Desktop` 项目并选择 **设为启动项目**.
-
- 按 `F5` 运行项目。
-
-
-
- * 按 `F5` 运行项目并选择 `C#` 作为调试器
-
- * 选择 **C#: GetStartedApp Demo** 来启动已连接调试器的应用程序。
-
-
-
-进入 `GetStartedApp` 目录并运行:
-
-```bash title='Bash'
-dotnet run
-```
-
-
-
-该解决方案将构建并运行。
-
-您现在正在运行您的第一个 Avalonia 应用程序!
-
-
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md
deleted file mode 100644
index 9ff0e2d5f..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Test Drive
-
-import {DocsCardList} from '../../../../../../src/components/DocsCard';
-import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
-
-
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md
deleted file mode 100644
index 46de7f67c..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: input-controls
-title: 输入控件
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-在这个页面上,您将学习如何添加一些 Avalonia 输入控件并将其排列整齐。目标是在一行中添加带有标签的数字输入控件,并在其下面一行中添加对应的输出控件。
-
-为了实现这个布局,您将使用内置的网格控件 `Grid`,并将标签和输入控件放置在其单元格中。
-
-这张图片展示了完成时的布局(运行中)并显示了网格线。网格线是为了可视化布局而显示的 - 在生产环境的界面上通常不会这样做。
-
-
-
-要使用网格控件创建一个2行3列的布局,请按照以下步骤进行操作:
-
-- 如果应用正在运行,请停止应用。
-- 在 XAML 中找到 `` 和 `` 之间的空行
-- 插入一个 `` 标签,如下所示:
-
-```xml
-
-
-
-
- // highlight-start
-
-
- // highlight-end
- Calculate
-
-```
-
-该标签可以用于指定网格的行和列,设置其的大小,并控制网格线是否可见。目前它只会显示为一条直线,因为网格内部是空的。`Auto` 表明行的大小与其内容相同,并且在添加内容之前高度为零。
-
-- 在 `Grid` 中添加 `` 和 ``(文本输入)控件,如下所示:
-
-```xml
-
- // highlight-start
- Celsius
-
- Fahrenheit
-
- // highlight-end
-
-```
-
-最后,您可以使用它们的 `Margin` 属性来整理网格中控件的对齐方式。还可以将按钮移动到网格中,如下所示:
-
-```xml
-
- // highlight-start
- Celsius
-
- Fahrenheit
-
- Calculate
- // highlight-end
-
-```
-
-- 运行应用以查看结果
-
-:::info
-有关Avalonia内置控件的完整信息以及它们的属性,请参阅参考部分[这里](../../reference/controls/)。
-:::
-
-在下一页中,您将了解如何通过调整预览窗口中显示的大小来改善设计时体验。
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.mdx
deleted file mode 100644
index 4c2290440..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/introduction.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: introduction
-title: 介绍
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-
-您可以使用此部分立即开始使用 Avalonia。这将带您逐步了解一个简单的教程示例,
-并向您介绍一些 Avalonia 概念和技术。
-
-您不需要任何有关 Avalonia 或其他基于 XAML 的框架的先前知识即可学习本节。
-
-单击下一步按钮开始。
-
-:::info
-如果您是一位有使用 XAML 和 Avalonia 项目创建经验的开发人员,您可能希望直接跳至我们的
-基础知识部分 [此处](../../basics) 或其中一个操作指南 [此处](../../guides)。
-:::
-
-## 先决条件
-
-### 安装模板
-
-开始之前,请确保您已经 [安装 Avalonia 模板](../install.md):
-
-```bash title='Bash'
-dotnet new install Avalonia.Templates
-```
-
-
-
- [JetBrains Rider](https://www.jetbrains.com/lp/rider-avalonia/) 为 Avalonia XAML 提供原生支持,无需额外扩展即可提供丰富的开发体验。
-
- 对于实时 XAML 预览功能,您可以通过安装可选的 Avalonia Rider 插件来增强您的工作流程。
-
-
-
-
-
- Visual Studio 2022 用户可以通过从 Visual Studio Marketplace 安装我们的官方扩展来增强他们的 Avalonia 开发体验。
-
- 该扩展提供 XAML 代码完成和集成的实时预览器,让您可以实时查看 UI 更新。
-
-
-
-
-
-
- 虽然我们维护一个提供基本 XAML 支持和实时预览器的 [Visual Studio Code](https://code.visualstudio.com/) 扩展,但我们建议使用 [JetBrains Rider](https://www.jetbrains.com/lp/rider-avalonia/),以获得最佳的 Avalonia 开发体验。
-
- 但是,如果您更喜欢继续使用 Visual Studio Code,则可以从市场安装我们的扩展。
-
-
-
-
-
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.mdx
deleted file mode 100644
index 65b28a823..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.mdx
+++ /dev/null
@@ -1,130 +0,0 @@
----
-id: main-window
-title: 主窗口
----
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-import LayoutZonesDiagram from '/img/concepts/layout/layout-zones.png';
-import ViewModelScreenshot from '/img/get-started/test-drive/main-window-viewmodel.png';
-import AppRunningScreenshot from '/img/get-started/test-drive/main-window-app-running.png';
-import VsPreviewerScreenshot from '/img/get-started/test-drive/vs-previewer.png';
-import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane.png';
-
-您现在可以开始 Avalonia 项目之旅了。 我们将从主应用程序窗口开始。打开 **MainWindow.axaml** 文件。
-
-:::info
-请注意,在 Avalonia 中,XAML 文件的扩展名为 **.axaml** (而不是 .xaml)。它表示 'Avalonia XAML',文件扩展名是出于技术原因引入的。
-:::
-
-## 发生了什么?
-
-在 **MainWindow.axaml** XAML 文件中,`... ` XAML 标记表示 Avalonia 窗口。与其他 Avalonia 控件一样,窗口将在目标平台上绘制,并具有 4 个**布局区域**:margin(边距)、border(边框)、padding(内边距) 和 content(内容)。
-
-
-
-## MainWindow 的内容
-
-在 Windows 的内容中, 你可以看到一个 `... ` XAML 标签。这表示一个 `TextBlock` 控件,它会将 `文本` 绘制到屏幕上。
-`TextBlock` 的 `Text` 属性绑定到 **MainViewModel** 类的 **Greeting** 属性。
-
-:::note
-类名可能显示为:
-- `MainViewModel`
-- `MainWindowViewModel`
-
-检查您的项目使用哪个模板来确认名称是否正确。
-:::
-
-```xml title='XAML'
-
-```
-
-您可以更改文件 **MainWindowViewModel.cs** 中的文本,以查看 UI 界面上的对此更改的表现。
-
-```csharp title='C#'
-namespace GetStartedApp.ViewModels;
-
-public class MainWindowViewModel : ViewModelBase
-{
- public string Greeting => "Welcome to Avalonia! This is my added text.";
-}
-```
-
-
-
-:::info
-有关控件布局区域概念的更多信息,请参阅[这里](../../concepts/layout/layout-zones).
-:::
-
-## XAML 预览器
-
-如果您使用的 IDE 安装了我们的 IDE 扩展,例如 Rider、Visual Studio 或 Visual Studio Code,您可以在预览器视图中看到 XAML 代码的实时更改。
-
-XAML 预览器在一种特殊的创作模式(称为设计模式)下创建应用实例。当您的应用在设计模式下运行时,它可以执行特殊逻辑,以便与可视化设计器进行协调。`Design.IsDesignMode`
-
-
-
- 导航到 **MainWindow.axaml** 文件并单击编辑器窗口右上角的 **Split View** 按钮。
-
-
-
-
-
- - 构建项目。
-
-
-
-
-
-
-导航到 **MainView.axaml** 并单击编辑器窗口顶部的 **Split View** 按钮。
-
-
-
-:::info
-可能会出现一个红色感叹号图标(左上角)和消息 **设计器正在加载...**。这表示必须先构建项目,预览窗格才会响应。
-:::
-
-- 构建项目。
-- 将预览窗格向左滚动以查看预览大纲和左上角显示的文本。
-
-
-
-
-
-
-- 删除绑定 `{Binding Greeting}` 并且修改为 ` `
-
-您将看到预览窗格中的新文本随着您的输入而变化。 这是 Avalonia **design-time preview behaviour(设计时预览行为)** 的一个示例,它将帮助您准确、快速地开发用户界面演示。
-
-- 运行项目以查看新文本是否也在运行时出现。
-
-在下一页中,您将向窗口添加一个简单的 `Button`。
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.mdx
deleted file mode 100644
index 4481f15a4..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.mdx
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: respond-to-an-event
-title: 响应事件
----
-import useBaseUrl from '@docusaurus/useBaseUrl';
-import EventDebugOutputScreenshot from '/img/get-started/test-drive/event-debug-output.png';
-import RiderDebugButton from '/img/get-started/test-drive/rider-toolbar-debug.png';
-
-
-
-在Avalonia应用程序中,您可以使用多种方式响应操作。
-在本页面中,您将了解如何使用最简单的方法之一:如何编写按钮点击的事件处理代码。
-
-首先,您将编写一个不与任何其他控件交互的按钮单击事件处理程序。
-
-## Code-Behind
-
-XAML 文件可以拥有一个关联的 C# 代码 Code-Behind (通常被翻译为“代码隐藏”、“后端代码”、“后台代码”),
-用于访问其关联 XAML 中的命名控件并处理其的事件。
-如果您使用的是 IDE,您可以在 **Solution Explorer** 中找到这个文件,它是 `.axaml` 文件的子项。
-
-
-
-修改 `MainWindow` 的代码隐藏:
-
-- 打开 `MainWindow.axaml.cs` 文件
-
-您将看到一些类似于以下代码的C#代码:
-
-```csharp
-using Avalonia.Controls;
-
-namespace GetStartedApp.Views;
-
-public partial class MainWindow : Window
-{
- public MainWindow()
- {
- InitializeComponent();
- }
-}
-```
-
-分部类 `MainWindow` 对应 Avalonia 根据您已有的 XAML 创建的 `Window`。
-代码隐藏中分部类的命名空间必须与 XAML 保持一致,您可以在 XAML 标记中找到该类名:
-
-```xml
-
-
-```
-
-要为按钮添加事件处理程序,请按照以下步骤进行操作:
-
-- 在代码隐藏文件中找到 `MainWindow` 的构造函数(参见上述说明)。
-- 在构造函数之后添加以下代码:
-
-```csharp
-private void Button_OnClick(object? sender, RoutedEventArgs e)
-{
- Debug.WriteLine("Click!");
-}
-```
-
-这将需要一些额外的 using 语句:
-
-```cs
-using Avalonia.Interactivity;
-using System.Diagnostics;
-```
-
-- 切换到XAML文件,找到 `` 标签。
-- 在标记的末尾添加 `Click` 特性,如下所示:
-
-```xml
-Calculate
-```
-
-- 以 debug 模式运行应用程序并点击按钮。
-
-
-
-
-
-
- 您应该会在 Debug Output 输出窗口中看到如下结果:
-
-
-
-
- 您应该会在输出窗口的 Debug 输出源中看到如下结果:
-
-
-
-
-
-
-
-在下一页中,您将了解如何使用 code-behind 在运行时读取和更改 Avalonia 控件的属性。
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.mdx
deleted file mode 100644
index b7f4e52b5..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.mdx
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: the-design-preview
-title: 设计预览
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-在这个页面上,您将探索窗口的属性,然后使用其中一些属性来调整窗口在预览窗格中显示时的大小。
-
-检查XAML的 `` 标签。它看起来像这样:
-
-```xml
-
-```
-
-
-`Window` (窗口)标签首先定义了 Avalonia 使用的一些 XML 命名空间。并为其指定了别名'x'、'd' 和 d'mc'。
-
-设计命名空间 'd' 允许设置设计时属性 `d:DesignWidth` 和 `d:DesignHeight`。
-在上面的代码示例中的设置,可以使预览窗格看起来更像是纵向的移动设备。
-
-```xml
-
-```
-
-设置了这些属性后,窗口的预览现在看起来像这样:
-
-
-
-在下一页中,您将看到如何通过响应按钮点击事件为应用程序添加一些动作。
\ No newline at end of file
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md
deleted file mode 100644
index 3a1bdb185..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-description: REFERENCE
----
-
-# JetBrains Rider IDE
-
-_JetBrains Rider_ IDE 自 2020.3 版本开始内置了对 _Avalonia UI_ XAML 的支持,包括对 Avalonia 特定 XAML 特性和自定义代码检查的全面支持。
-
-有关 _JetBrains Rider_ IDE 的更多信息,请访问网站 [https://www.jetbrains.com/rider](https://www.jetbrains.com/rider/)。
-
-有关 _JetBrains Rider_ 2020.3 版本发布公告,请查看[此处](https://www.jetbrains.com/rider/whatsnew/2020-3/#version-2020-3-avalonia-support)。
-
-_JetBrains Rider_ 目前还没有提供可视化设计器,但正在开发中。有关更多信息以及如何安装可视化设计器的说明,请查看 [_GitHub_ 项目](https://github.com/ForNeVeR/AvaloniaRider)。
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
deleted file mode 100644
index 9e2966e24..000000000
--- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/jetbrains-rider-ide/jetbrains-rider-setup.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-description: REFERENCE
----
-
-import RiderWelcomeScreenshot from '/img/reference/jetbrains-rider-ide/rider-welcome.png';
-import RiderInstallAvaloniaPluginScreenshot from '/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png';
-
-# JetBrains Rider 设置
-
-要设置 _JetBrains Rider_ 以用于开发 _Avalonia UI_,请按照以下步骤进行:
-
-- 从 _Microsoft_ 下载并安装您选择的.NET SDK。其中包含用于构建 _Avalonia UI_ 应用程序的运行时和开发工具包(编译器等)。
-- 通过在计算机的命令提示符上运行命令 `dotnet new install Avalonia.Templates` 来安装 _Avalonia UI_ 模板。
-
-:::info
-有关最新的.NET SDK下载,请参阅[这里](https://dotnet.microsoft.com/download).
-:::
-
-:::info
-对于.NET 7之前的SDK版本,您需要运行命令 `dotnet new -i Avalonia.Templates`
-:::
-
-输出结果将类似于以下内容。
-
-```bash
-$ dotnet new install Avalonia.Templates
- Determining projects to restore...
- Restored /Users/danwalmsley/.templateengine/dotnetcli/v5.0.200/scratch/restore.csproj (in 706 ms).
-
-Templates Short Name Language Tags
-.....
-
-Avalonia Resource Dictionary avalonia.resource ui/xaml/avalonia/avaloniaui
-Avalonia Styles avalonia.styles ui/xaml/avalonia/avaloniaui
-
-Examples:
- dotnet new mvc --auth Individual
- dotnet new mstest
- dotnet new --help
- dotnet new avalonia.mvvm --help
-$
-```
-
-:::info
-要下载 _JetBrains Rider_,请参阅[这里](https://www.jetbrains.com/rider/)。
-:::
-
-Rider将为您提供 _Avalonia UI_ 最佳的开发体验。它适用于Windows、Linux和macOS。Rider默认支持XAML。但是,如果您想使用XAML预览器,则需要安装Avalonia插件。
-
-## 安装Avalonia插件
-
-一旦Rider加载完成,您将看到**Welcome to JetBrains Rider**屏幕。
-
-- 点击**Configure**,然后在下拉菜单中点击**Plugins**。
-
-
-
-**Preferences** 窗口将打开。
-
-- 点击**Marketplace**并在搜索框中输入 `Avalonia`。在搜索结果窗格中看到**AvaloniaRider**时,点击**Install**。
-
-
-
-- 安装完成后,点击**Restart IDE**(按钮出现)。
-
-现在,_JetBrains Rider_ 已准备好开发 _Avalonia UI_ 应用程序。
diff --git a/redirects/get-started-redirects.js b/redirects/get-started-redirects.js
new file mode 100644
index 000000000..281384de1
--- /dev/null
+++ b/redirects/get-started-redirects.js
@@ -0,0 +1,46 @@
+const redirects = [
+ { to: '/docs/get-started/index',
+ from: [
+ '/docs/get-started/install',
+ '/docs/get-started/set-up-an-editor',
+ '/docs/get-started/getting-started',
+ '/docs/get-started/introduction',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/index',
+ from: [
+ '/docs/get-started/test-drive/index',
+ '/docs/get-started/test-drive/introduction',
+ '/docs/get-started/test-drive/create-a-project',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/adding-a-control',
+ from: [
+ '/docs/get-started/test-drive/add-a-control',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/adding-some-layout',
+ from: [
+ '/docs/get-started/test-drive/add-some-layout',
+ '/docs/get-started/test-drive/input-controls',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/customizing-the-avalonia-window',
+ from: [
+ '/docs/get-started/test-drive/main-window',
+ '/docs/get-started/test-drive/the-design-preview',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/establishing-events-and-responses',
+ from: [
+ '/docs/get-started/test-drive/respond-to-an-event',
+ ],
+ },
+ { to: '/docs/get-started/starter-tutorial/converting-data',
+ from: [
+ '/docs/get-started/test-drive/code-with-controls',
+ ],
+ },
+];
+
+export const get_started_redirects = { redirects };
diff --git a/redirects/index.js b/redirects/index.js
index 1582d1788..455f06437 100644
--- a/redirects/index.js
+++ b/redirects/index.js
@@ -3,6 +3,7 @@
import {from10to11} from './migrate-010-to-110.js';
import {music_store_redirects} from './music-store-redirects.js';
+import {get_started_redirects} from './get-started-redirects.js'
const config = {
redirects: [
diff --git a/redirects/migrate-010-to-110.js b/redirects/migrate-010-to-110.js
index 7646f5d49..89aa143f3 100644
--- a/redirects/migrate-010-to-110.js
+++ b/redirects/migrate-010-to-110.js
@@ -177,14 +177,14 @@ const redirects = [
},
{
"from": "/docs/getting-started/ide-support",
- "to": "/docs/get-started/set-up-an-editor"
+ "to": "/docs/get-started/"
},
{
"from": [
"/docs/getting-started/ide-support/jetbrains-rider-setup",
"/docs/getting-started/jetbrains-rider-setup"
],
- "to": "/docs/reference/jetbrains-rider-ide/jetbrains-rider-setup"
+ "to": "/docs/get-started/"
},
{
"from": "/docs/getting-started/logging-errors-and-warnings",
@@ -192,7 +192,7 @@ const redirects = [
},
{
"from": "/docs/getting-started/programming-with-avalonia/",
- "to": "/docs/get-started/test-drive/introduction"
+ "to": "/docs/get-started/"
},
{
"from": "/docs/getting-started/programming-with-avalonia/controls-and-layouts",
diff --git a/sidebars.js b/sidebars.js
index 90c248272..bd562fd32 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -9,33 +9,29 @@ const sidebars = {
'overview/supported-platforms',
{
'type': 'category',
- 'label': 'Get Started',
+ 'label': 'Getting started',
'link': {
'type': 'doc',
'id': 'get-started/index',
},
'items': [
- 'get-started/install',
- 'get-started/set-up-an-editor',
{
'type': 'category',
- 'label': 'Test Drive',
+ 'label': 'Starter tutorial',
'link' : {
'type' : 'doc',
- 'id': 'get-started/test-drive/index'
+ 'id': 'get-started/starter-tutorial/index'
},
'items': [
- 'get-started/test-drive/introduction',
- 'get-started/test-drive/create-a-project',
- 'get-started/test-drive/main-window',
- 'get-started/test-drive/add-a-control',
- 'get-started/test-drive/add-some-layout',
- 'get-started/test-drive/input-controls',
- 'get-started/test-drive/the-design-preview',
- 'get-started/test-drive/respond-to-an-event',
- 'get-started/test-drive/code-with-controls',
+ 'get-started/starter-tutorial/adding-a-control',
+ 'get-started/starter-tutorial/adding-some-layout',
+ 'get-started/starter-tutorial/customizing-the-avalonia-window',
+ 'get-started/starter-tutorial/establishing-events-and-responses',
+ 'get-started/starter-tutorial/converting-data',
+ 'get-started/starter-tutorial/exercises',
],
},
+ 'get-started/xaml-previewers',
{
'type': 'category',
'label': 'Coming from WPF?',
@@ -88,6 +84,10 @@ const sidebars = {
'items': [
'tutorials/samples',
'tutorials/groupbox',
+ {'type': 'link',
+ 'label': 'Starter tutorial',
+ 'href': 'https://docs.avaloniaui.net/docs/get-started/starter-tutorial',
+ },
{
'type': 'link',
'label': 'ToDo List App',
diff --git a/static/img/get-started/avalonia-vs-extension-marketplace.png b/static/img/get-started/avalonia-vs-extension-marketplace.png
deleted file mode 100644
index 4083cee3c..000000000
Binary files a/static/img/get-started/avalonia-vs-extension-marketplace.png and /dev/null differ
diff --git a/static/img/get-started/the-main-window/image (25) (2) (1).png b/static/img/get-started/avalonia-window-layout.png
similarity index 100%
rename from static/img/get-started/the-main-window/image (25) (2) (1).png
rename to static/img/get-started/avalonia-window-layout.png
diff --git a/static/img/get-started/calculate-button-center.png b/static/img/get-started/calculate-button-center.png
new file mode 100644
index 000000000..31dd790af
Binary files /dev/null and b/static/img/get-started/calculate-button-center.png differ
diff --git a/static/img/get-started/calculate-button-left.png b/static/img/get-started/calculate-button-left.png
new file mode 100644
index 000000000..798d6d494
Binary files /dev/null and b/static/img/get-started/calculate-button-left.png differ
diff --git a/static/img/get-started/choose-a-solution-template/image (27) (1).png b/static/img/get-started/choose-a-solution-template/image (27) (1).png
deleted file mode 100644
index 6b0edd48c..000000000
Binary files a/static/img/get-started/choose-a-solution-template/image (27) (1).png and /dev/null differ
diff --git a/static/img/get-started/choose-a-solution-template/image (31) (1) (1).png b/static/img/get-started/choose-a-solution-template/image (31) (1) (1).png
deleted file mode 100644
index e90bb4a98..000000000
Binary files a/static/img/get-started/choose-a-solution-template/image (31) (1) (1).png and /dev/null differ
diff --git a/static/img/get-started/code-with-controls/image (55).png b/static/img/get-started/code-with-controls/image (55).png
deleted file mode 100644
index 352ca1474..000000000
Binary files a/static/img/get-started/code-with-controls/image (55).png and /dev/null differ
diff --git a/static/img/get-started/code-with-controls/image (63).png b/static/img/get-started/code-with-controls/image (63).png
deleted file mode 100644
index d2f3082a7..000000000
Binary files a/static/img/get-started/code-with-controls/image (63).png and /dev/null differ
diff --git a/static/img/get-started/download-rider-avaloniarider.png b/static/img/get-started/download-rider-avaloniarider.png
new file mode 100644
index 000000000..b942f0881
Binary files /dev/null and b/static/img/get-started/download-rider-avaloniarider.png differ
diff --git a/static/img/get-started/download-vs-avalonia-extension.png b/static/img/get-started/download-vs-avalonia-extension.png
new file mode 100644
index 000000000..9920766e6
Binary files /dev/null and b/static/img/get-started/download-vs-avalonia-extension.png differ
diff --git a/static/img/get-started/input-controls/image (46).png b/static/img/get-started/input-controls/image (46).png
deleted file mode 100644
index bd3519941..000000000
Binary files a/static/img/get-started/input-controls/image (46).png and /dev/null differ
diff --git a/static/img/get-started/mainwindow-codebehind-location.png b/static/img/get-started/mainwindow-codebehind-location.png
new file mode 100644
index 000000000..12371b8e4
Binary files /dev/null and b/static/img/get-started/mainwindow-codebehind-location.png differ
diff --git a/static/img/get-started/mainwindow-file-location.png b/static/img/get-started/mainwindow-file-location.png
new file mode 100644
index 000000000..152983f2b
Binary files /dev/null and b/static/img/get-started/mainwindow-file-location.png differ
diff --git a/static/img/get-started/rider-run-debug-mode.png b/static/img/get-started/rider-run-debug-mode.png
new file mode 100644
index 000000000..0c94a6e14
Binary files /dev/null and b/static/img/get-started/rider-run-debug-mode.png differ
diff --git a/static/img/get-started/rider-xaml-previewer.png b/static/img/get-started/rider-xaml-previewer.png
new file mode 100644
index 000000000..57867903d
Binary files /dev/null and b/static/img/get-started/rider-xaml-previewer.png differ
diff --git a/static/img/get-started/set-up-an-editor/avalonia-vs.png b/static/img/get-started/set-up-an-editor/avalonia-vs.png
deleted file mode 100644
index b48182526..000000000
Binary files a/static/img/get-started/set-up-an-editor/avalonia-vs.png and /dev/null differ
diff --git a/static/img/get-started/temperature-converter-blue-border.png b/static/img/get-started/temperature-converter-blue-border.png
new file mode 100644
index 000000000..aaaf05fe1
Binary files /dev/null and b/static/img/get-started/temperature-converter-blue-border.png differ
diff --git a/static/img/get-started/temperature-converter-complete.png b/static/img/get-started/temperature-converter-complete.png
new file mode 100644
index 000000000..9520ea7a7
Binary files /dev/null and b/static/img/get-started/temperature-converter-complete.png differ
diff --git a/static/img/get-started/temperature-converter-empty-grid.png b/static/img/get-started/temperature-converter-empty-grid.png
new file mode 100644
index 000000000..c04571845
Binary files /dev/null and b/static/img/get-started/temperature-converter-empty-grid.png differ
diff --git a/static/img/get-started/temperature-converter-filled-grid.png b/static/img/get-started/temperature-converter-filled-grid.png
new file mode 100644
index 000000000..cdbac5b11
Binary files /dev/null and b/static/img/get-started/temperature-converter-filled-grid.png differ
diff --git a/static/img/get-started/temperature-converter-portrait-orientation.png b/static/img/get-started/temperature-converter-portrait-orientation.png
new file mode 100644
index 000000000..bb36cb8d9
Binary files /dev/null and b/static/img/get-started/temperature-converter-portrait-orientation.png differ
diff --git a/static/img/get-started/temperature-converter-text-only.png b/static/img/get-started/temperature-converter-text-only.png
new file mode 100644
index 000000000..bdb6dcdee
Binary files /dev/null and b/static/img/get-started/temperature-converter-text-only.png differ
diff --git a/static/img/get-started/test-drive/button-intellisense.png b/static/img/get-started/test-drive/button-intellisense.png
deleted file mode 100644
index 16c337776..000000000
Binary files a/static/img/get-started/test-drive/button-intellisense.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/calculate-button.png b/static/img/get-started/test-drive/calculate-button.png
deleted file mode 100644
index c47f3c666..000000000
Binary files a/static/img/get-started/test-drive/calculate-button.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/codebehind-mainwindow-dark.png b/static/img/get-started/test-drive/codebehind-mainwindow-dark.png
deleted file mode 100644
index e682c3a43..000000000
Binary files a/static/img/get-started/test-drive/codebehind-mainwindow-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/codebehind-mainwindow-light.png b/static/img/get-started/test-drive/codebehind-mainwindow-light.png
deleted file mode 100644
index 8193a734e..000000000
Binary files a/static/img/get-started/test-drive/codebehind-mainwindow-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/event-debug-output.png b/static/img/get-started/test-drive/event-debug-output.png
deleted file mode 100644
index 7349d7203..000000000
Binary files a/static/img/get-started/test-drive/event-debug-output.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/ider-preview-pane-light.png b/static/img/get-started/test-drive/ider-preview-pane-light.png
deleted file mode 100644
index 7d1fcb675..000000000
Binary files a/static/img/get-started/test-drive/ider-preview-pane-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/initial-window.png b/static/img/get-started/test-drive/initial-window.png
deleted file mode 100644
index a8a5da482..000000000
Binary files a/static/img/get-started/test-drive/initial-window.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/input-controls-dark.png b/static/img/get-started/test-drive/input-controls-dark.png
deleted file mode 100644
index 4e3834f32..000000000
Binary files a/static/img/get-started/test-drive/input-controls-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/input-controls-light.png b/static/img/get-started/test-drive/input-controls-light.png
deleted file mode 100644
index e11a908cd..000000000
Binary files a/static/img/get-started/test-drive/input-controls-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/input-controls.png b/static/img/get-started/test-drive/input-controls.png
deleted file mode 100644
index 68ee1f40e..000000000
Binary files a/static/img/get-started/test-drive/input-controls.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/main-window-app-running-dark.png b/static/img/get-started/test-drive/main-window-app-running-dark.png
deleted file mode 100644
index 02c165d07..000000000
Binary files a/static/img/get-started/test-drive/main-window-app-running-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/main-window-app-running-light.png b/static/img/get-started/test-drive/main-window-app-running-light.png
deleted file mode 100644
index 4ede1f2c4..000000000
Binary files a/static/img/get-started/test-drive/main-window-app-running-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/main-window-app-running.png b/static/img/get-started/test-drive/main-window-app-running.png
deleted file mode 100644
index c78ef8793..000000000
Binary files a/static/img/get-started/test-drive/main-window-app-running.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/main-window-viewmodel.png b/static/img/get-started/test-drive/main-window-viewmodel.png
deleted file mode 100644
index 1212ea631..000000000
Binary files a/static/img/get-started/test-drive/main-window-viewmodel.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-event-debug-output-dark.png b/static/img/get-started/test-drive/rider-event-debug-output-dark.png
deleted file mode 100644
index 6c4742c57..000000000
Binary files a/static/img/get-started/test-drive/rider-event-debug-output-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-event-debug-output-light.png b/static/img/get-started/test-drive/rider-event-debug-output-light.png
deleted file mode 100644
index bc6a531da..000000000
Binary files a/static/img/get-started/test-drive/rider-event-debug-output-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-new-solution-dark.png b/static/img/get-started/test-drive/rider-new-solution-dark.png
deleted file mode 100644
index fc5bf606c..000000000
Binary files a/static/img/get-started/test-drive/rider-new-solution-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-new-solution-light.png b/static/img/get-started/test-drive/rider-new-solution-light.png
deleted file mode 100644
index 024a48645..000000000
Binary files a/static/img/get-started/test-drive/rider-new-solution-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-preview-pane-dark.png b/static/img/get-started/test-drive/rider-preview-pane-dark.png
deleted file mode 100644
index 3f368bf40..000000000
Binary files a/static/img/get-started/test-drive/rider-preview-pane-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-preview-pane-light.png b/static/img/get-started/test-drive/rider-preview-pane-light.png
deleted file mode 100644
index 7d1fcb675..000000000
Binary files a/static/img/get-started/test-drive/rider-preview-pane-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-previewer-controls-dark.png b/static/img/get-started/test-drive/rider-previewer-controls-dark.png
deleted file mode 100644
index 83481d2b9..000000000
Binary files a/static/img/get-started/test-drive/rider-previewer-controls-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-previewer-controls-light.png b/static/img/get-started/test-drive/rider-previewer-controls-light.png
deleted file mode 100644
index b2ba27d57..000000000
Binary files a/static/img/get-started/test-drive/rider-previewer-controls-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-previewer-dark.png b/static/img/get-started/test-drive/rider-previewer-dark.png
deleted file mode 100644
index b8a447651..000000000
Binary files a/static/img/get-started/test-drive/rider-previewer-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-previewer-light.png b/static/img/get-started/test-drive/rider-previewer-light.png
deleted file mode 100644
index c953a2e85..000000000
Binary files a/static/img/get-started/test-drive/rider-previewer-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-previewer.png b/static/img/get-started/test-drive/rider-previewer.png
deleted file mode 100644
index 4d223c716..000000000
Binary files a/static/img/get-started/test-drive/rider-previewer.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-run.png b/static/img/get-started/test-drive/rider-run.png
deleted file mode 100644
index ffaf08fdb..000000000
Binary files a/static/img/get-started/test-drive/rider-run.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-solution-dark.png b/static/img/get-started/test-drive/rider-solution-dark.png
deleted file mode 100644
index 6ccf69af6..000000000
Binary files a/static/img/get-started/test-drive/rider-solution-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-solution-light.png b/static/img/get-started/test-drive/rider-solution-light.png
deleted file mode 100644
index 15e14e698..000000000
Binary files a/static/img/get-started/test-drive/rider-solution-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-toolbar-debug.png b/static/img/get-started/test-drive/rider-toolbar-debug.png
deleted file mode 100644
index b37c9141b..000000000
Binary files a/static/img/get-started/test-drive/rider-toolbar-debug.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/rider-toolbar-run.png b/static/img/get-started/test-drive/rider-toolbar-run.png
deleted file mode 100644
index 3e730a204..000000000
Binary files a/static/img/get-started/test-drive/rider-toolbar-run.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/solution-code-behind.png b/static/img/get-started/test-drive/solution-code-behind.png
deleted file mode 100644
index e8a57b0af..000000000
Binary files a/static/img/get-started/test-drive/solution-code-behind.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/stackpanel-zones.png b/static/img/get-started/test-drive/stackpanel-zones.png
deleted file mode 100644
index 928a9822f..000000000
Binary files a/static/img/get-started/test-drive/stackpanel-zones.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-design-preview-dark.png b/static/img/get-started/test-drive/temperature-design-preview-dark.png
deleted file mode 100644
index 09816088c..000000000
Binary files a/static/img/get-started/test-drive/temperature-design-preview-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-design-preview-light.png b/static/img/get-started/test-drive/temperature-design-preview-light.png
deleted file mode 100644
index 64e11b2d3..000000000
Binary files a/static/img/get-started/test-drive/temperature-design-preview-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-design-preview.png b/static/img/get-started/test-drive/temperature-design-preview.png
deleted file mode 100644
index 316c2cb18..000000000
Binary files a/static/img/get-started/test-drive/temperature-design-preview.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-stackpanel-dark.png b/static/img/get-started/test-drive/temperature-stackpanel-dark.png
deleted file mode 100644
index ee11e0570..000000000
Binary files a/static/img/get-started/test-drive/temperature-stackpanel-dark.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-stackpanel-light.png b/static/img/get-started/test-drive/temperature-stackpanel-light.png
deleted file mode 100644
index 8488b2697..000000000
Binary files a/static/img/get-started/test-drive/temperature-stackpanel-light.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/temperature-stackpanel.png b/static/img/get-started/test-drive/temperature-stackpanel.png
deleted file mode 100644
index 2141d3a0e..000000000
Binary files a/static/img/get-started/test-drive/temperature-stackpanel.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png b/static/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png
deleted file mode 100644
index 8d438aa32..000000000
Binary files a/static/img/get-started/test-drive/vs-find-avalonia-template-screenshot.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png b/static/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png
deleted file mode 100644
index 2a9baa13d..000000000
Binary files a/static/img/get-started/test-drive/vs-new-avalonia-project-screenshot.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vs-preview-pane.png b/static/img/get-started/test-drive/vs-preview-pane.png
deleted file mode 100644
index 03b7f3f13..000000000
Binary files a/static/img/get-started/test-drive/vs-preview-pane.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vs-previewer.png b/static/img/get-started/test-drive/vs-previewer.png
deleted file mode 100644
index 3c6a2ca3c..000000000
Binary files a/static/img/get-started/test-drive/vs-previewer.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-app-running.png b/static/img/get-started/test-drive/vscode-app-running.png
deleted file mode 100644
index b9a33e7b0..000000000
Binary files a/static/img/get-started/test-drive/vscode-app-running.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-command-new-project.png b/static/img/get-started/test-drive/vscode-command-new-project.png
deleted file mode 100644
index 67fa47bf8..000000000
Binary files a/static/img/get-started/test-drive/vscode-command-new-project.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-create-project.png b/static/img/get-started/test-drive/vscode-create-project.png
deleted file mode 100644
index 721e263c4..000000000
Binary files a/static/img/get-started/test-drive/vscode-create-project.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-launch-app.png b/static/img/get-started/test-drive/vscode-launch-app.png
deleted file mode 100644
index 10911f3d9..000000000
Binary files a/static/img/get-started/test-drive/vscode-launch-app.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-name-new-project.png b/static/img/get-started/test-drive/vscode-name-new-project.png
deleted file mode 100644
index 90a4eb8b7..000000000
Binary files a/static/img/get-started/test-drive/vscode-name-new-project.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-select-csharp.png b/static/img/get-started/test-drive/vscode-select-csharp.png
deleted file mode 100644
index 084815c6b..000000000
Binary files a/static/img/get-started/test-drive/vscode-select-csharp.png and /dev/null differ
diff --git a/static/img/get-started/test-drive/vscode-select-project-template.png b/static/img/get-started/test-drive/vscode-select-project-template.png
deleted file mode 100644
index be1818f35..000000000
Binary files a/static/img/get-started/test-drive/vscode-select-project-template.png and /dev/null differ
diff --git a/static/img/get-started/test-xaml-previewer.png b/static/img/get-started/test-xaml-previewer.png
new file mode 100644
index 000000000..8a24a9027
Binary files /dev/null and b/static/img/get-started/test-xaml-previewer.png differ
diff --git a/static/img/get-started/the-design-preview/image (64).png b/static/img/get-started/the-design-preview/image (64).png
deleted file mode 100644
index 511903c3e..000000000
Binary files a/static/img/get-started/the-design-preview/image (64).png and /dev/null differ
diff --git a/static/img/get-started/the-main-window/image (15) (1) (1).png b/static/img/get-started/the-main-window/image (15) (1) (1).png
deleted file mode 100644
index 1690f7500..000000000
Binary files a/static/img/get-started/the-main-window/image (15) (1) (1).png and /dev/null differ
diff --git a/static/img/get-started/the-main-window/image (22) (1).png b/static/img/get-started/the-main-window/image (22) (1).png
deleted file mode 100644
index 13461e8d4..000000000
Binary files a/static/img/get-started/the-main-window/image (22) (1).png and /dev/null differ
diff --git a/static/img/get-started/vs-debug-output-click.png b/static/img/get-started/vs-debug-output-click.png
new file mode 100644
index 000000000..71130ff9c
Binary files /dev/null and b/static/img/get-started/vs-debug-output-click.png differ
diff --git a/static/img/get-started/vs-xaml-previewer.png b/static/img/get-started/vs-xaml-previewer.png
new file mode 100644
index 000000000..abee95216
Binary files /dev/null and b/static/img/get-started/vs-xaml-previewer.png differ
diff --git a/static/img/get-started/welcome-to-avalonia.png b/static/img/get-started/welcome-to-avalonia.png
new file mode 100644
index 000000000..63dc3326b
Binary files /dev/null and b/static/img/get-started/welcome-to-avalonia.png differ
diff --git a/static/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png b/static/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png
deleted file mode 100644
index 723ebf887..000000000
Binary files a/static/img/reference/jetbrains-rider-ide/rider-install-avalonia-plugin.png and /dev/null differ
diff --git a/static/img/reference/jetbrains-rider-ide/rider-welcome.png b/static/img/reference/jetbrains-rider-ide/rider-welcome.png
deleted file mode 100644
index 2ed232579..000000000
Binary files a/static/img/reference/jetbrains-rider-ide/rider-welcome.png and /dev/null differ
diff --git a/static/img/get-started/avalonia-vs-extension-nuget.png b/static/img/vs-extension/avalonia-vs-extension-nuget.png
similarity index 100%
rename from static/img/get-started/avalonia-vs-extension-nuget.png
rename to static/img/vs-extension/avalonia-vs-extension-nuget.png