Архив рубрики: Software

Avalonia: Установка шаблона

Запущенные WPF-приложения занимают просто огромное место в оперативной памяти. Поскольку мне не нужна вся красота WPF, а лишь функционал, я попробовал портировать приложение на Windows Forms, но вскоре понял, что нужно будет переделывать слишком много из-за отсутствия нормальной реализации привязки данных, так что игра не стоит свеч. Вспомнив, про то, что WPF в принципе достаточно старая «технология» и на смену ей пришли другие, я решил посмотреть на Avalonia. Плюсом к её выбору послужил ещё тот факт, что для разметки там используется XAML, так что нужно будет переделывать меньше кода.
Где-то видел таблицу сравнения, в которой минусом Авалония было отсутствие то ли привязки, то ли шаблонов данных как в WPF, в общем, придётся проверить на практике…
Открыв Visual Studio, и нажав кнопку создания нового проекта, я не обнаружил среди них шаблонов Avalonia. Значит сначала будем их устанавливать!
1. Клавишей ESC отменяем окошко со списком последних открытых проектов и переходим в меню:
ToolsNuGet Package ManagerPackage Manager Console
2. В консоли выполняем команду:

dotnet new install Avalonia.Templates

Welcome to .NET 8.0!
---------------------
SDK Version: 8.0.202

----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate, run 'dotnet dev-certs https --trust'
Learn about HTTPS: https://aka.ms/dotnet-https

----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
The following template packages will be installed:
   Avalonia.Templates

Success: Avalonia.Templates::11.0.10.1 installed the following 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     
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
Для версии .NET 6.0 и более ранней, нужно заменить ключ install на --instal

 

3. Если нужно будет для проверки вывести список доступных шаблонов Авалония, то делается это такой командой:

dotnet new list avalonia
These templates matched your input: 'avalonia'

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
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 for Visual Studio 2022».