├── docs
├── logo
│ ├── logo_en.png
│ └── logo_ru.png
└── images
│ └── template_app.jpg
├── Samples
├── Application
│ ├── Assets
│ │ ├── Logo.png
│ │ ├── icon.png
│ │ └── Warn64.png
│ ├── composer.json
│ ├── Views
│ │ ├── Pages
│ │ │ ├── HomePage.php
│ │ │ ├── ButtonsPage.php
│ │ │ ├── FieldsPage.php
│ │ │ ├── ColorZonePage.php
│ │ │ ├── ProgressIndicatorsPage.php
│ │ │ ├── HomePage.axaml
│ │ │ ├── ProgressIndicatorsPage.axaml
│ │ │ ├── FieldsPage.axaml
│ │ │ └── ButtonsPage.axaml
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.php
│ ├── App.axaml
│ ├── App.php
│ ├── Program.php
│ └── Application.msbuildproj
├── ThreadsApp
│ ├── Assets
│ │ └── Logo.png
│ ├── composer.json
│ ├── App.axaml
│ ├── App.php
│ ├── Views
│ │ └── MainWindow.axaml
│ ├── ThreadsApp.msbuildproj
│ └── Program.php
├── MVVM
│ ├── ViewLocator.php
│ ├── ViewModels
│ │ ├── ViewModelBase.php
│ │ ├── AddItemViewModel.php
│ │ ├── ToDoListViewModel.php
│ │ └── MainWindowViewModel.php
│ ├── composer.json
│ ├── Services
│ │ └── ToDoListService.php
│ ├── Views
│ │ ├── MainWindow.php
│ │ ├── AddItemView.php
│ │ ├── ToDoListView.php
│ │ ├── MainWindow.axaml
│ │ ├── AddItemView.axaml
│ │ └── ToDoListView.axaml
│ ├── App.axaml
│ ├── Models
│ │ └── TodoItem.php
│ ├── App.php
│ ├── MVVM.msbuildproj
│ └── Program.php
└── AvaloniaClock
│ ├── composer.json
│ ├── App.axaml
│ ├── Views
│ ├── MainWindow.axaml
│ ├── MainWindow.php
│ └── ClockPanel.php
│ ├── App.php
│ ├── Program.php
│ └── AvaloniaClock.msbuildproj
├── nuget.config
├── reinstall-templates.ps1
├── PHP Libraries
└── Peachpie.Avalonia
│ ├── src
│ └── Peachpie
│ │ └── Avalonia
│ │ ├── Traits
│ │ ├── BaseTrait.php
│ │ ├── StyleKeyOverrideTrait.php
│ │ ├── PropertyTrait.php
│ │ ├── GetControlTrait.php
│ │ └── EventTrait.php
│ │ ├── Collections
│ │ ├── UxDictionary.php
│ │ └── UxObservableDictionary.php
│ │ ├── IStyleKeyOverride.php
│ │ ├── UxApplication.php
│ │ └── Ux
│ │ ├── Ux.php
│ │ └── EventProxy.php
│ ├── composer.json
│ └── Peachpie.Avalonia.msbuildproj
├── Templates
└── Peachpie.Avalonia.Templates
│ ├── templates
│ └── php
│ │ ├── library
│ │ ├── src
│ │ │ └── HelloWorld.php
│ │ ├── composer.json
│ │ ├── PeachpieLibraryTemplate.msbuildproj
│ │ └── .template.config
│ │ │ └── template.json
│ │ ├── avalonia.library
│ │ ├── src
│ │ │ └── HelloWorld.php
│ │ ├── composer.json
│ │ ├── PeachpieAvaloniaLibraryTemplate.msbuildproj
│ │ └── .template.config
│ │ │ └── template.json
│ │ ├── console
│ │ ├── composer.json
│ │ ├── PeachpieConsoleAppTemplate.php
│ │ ├── PeachpieConsoleAppTemplate.msbuildproj
│ │ ├── .template.config
│ │ │ └── template.json
│ │ └── src
│ │ │ └── Event.php
│ │ ├── app
│ │ ├── composer.json
│ │ ├── src
│ │ │ ├── App.axaml
│ │ │ ├── Forms
│ │ │ │ ├── MainWindow.axaml
│ │ │ │ └── MainWindow.php
│ │ │ └── App.php
│ │ ├── PeachpieAvaloniaAppTemplate.php
│ │ ├── PeachpieAvaloniaAppTemplate.msbuildproj
│ │ └── .template.config
│ │ │ └── template.json
│ │ └── window
│ │ ├── NewWindow.php
│ │ ├── NewWindow.axaml
│ │ └── .template.config
│ │ └── template.json
│ ├── Peachpie.Avalonia.Templates.csproj
│ └── readme.md
├── PeachPie Extension Libraries
├── Peachpie.Avalonia.Core
│ ├── src
│ │ ├── Collections
│ │ │ ├── AvaloniaObjectList.cs
│ │ │ ├── AvaloniaDictionary.cs
│ │ │ └── ObservableDictionary.cs
│ │ ├── PhpExtension
│ │ │ ├── ExtensionMethods.cs
│ │ │ └── MessageBox.cs
│ │ ├── Extension
│ │ │ ├── Property.cs
│ │ │ ├── ControlFinder.cs
│ │ │ └── Event.cs
│ │ ├── ViewLocatorBase.cs
│ │ ├── StyleKeyOverride.cs
│ │ └── AppPhpBuilder.cs
│ ├── vendor
│ │ └── Peachpie
│ │ │ └── Avalonia
│ │ │ └── Core
│ │ │ ├── ViewLocatorBase.php
│ │ │ ├── ExtensionMethods.php
│ │ │ ├── Extension
│ │ │ └── ControlFinder.php
│ │ │ └── AppPhpBuilder.php
│ └── Peachpie.Avalonia.Core.csproj
├── Peachpie.Community.ToolKit
│ ├── src
│ │ ├── Threading
│ │ │ └── Tasks
│ │ │ │ ├── ManagedTaskCreationOptions.cs
│ │ │ │ ├── ManagedTaskException.cs
│ │ │ │ └── ManagedTaskEventArgs.cs
│ │ ├── Reactive
│ │ │ └── ReactiveObject.cs
│ │ ├── Output
│ │ │ └── Logger.cs
│ │ ├── TypeHelper.cs
│ │ ├── Collections
│ │ │ └── ObservableCollection.cs
│ │ └── Listener
│ │ │ └── Event.cs
│ ├── vendor
│ │ └── Peachpie
│ │ │ └── Community
│ │ │ ├── Threading
│ │ │ ├── Tasks
│ │ │ │ ├── ManagedTaskException.php
│ │ │ │ ├── ManagedTaskEventArgs.php
│ │ │ │ ├── ManagedTaskCreationOptions.php
│ │ │ │ └── ManagedTask.php
│ │ │ └── Timer.php
│ │ │ ├── Reactive
│ │ │ └── ReactiveObject.php
│ │ │ ├── Listener
│ │ │ └── Event.php
│ │ │ ├── Output
│ │ │ └── Logger.php
│ │ │ ├── TypeHelper.php
│ │ │ └── Collections
│ │ │ └── ObservableCollection.php
│ └── Peachpie.Community.ToolKit.csproj
├── Peachpie.Avalonia.Fonts.Inter
│ ├── AppPhpBuilderFonts.cs
│ ├── vendor
│ │ └── Peachpie
│ │ │ └── Avalonia
│ │ │ └── Fonts
│ │ │ └── Inter
│ │ │ └── AppPhpBuilderFonts.php
│ └── Peachpie.Avalonia.Fonts.Inter.csproj
├── Peachpie.Avalonia.Desktop
│ ├── src
│ │ └── AppPhpBuilderDesktop.cs
│ ├── vendor
│ │ └── Peachpie
│ │ │ └── Avalonia
│ │ │ └── Desktop
│ │ │ └── AppPhpBuilderDesktop.php
│ └── Peachpie.Avalonia.Desktop.csproj
└── Peachpie.Vendor.Stubs
│ ├── Peachpie.Vendor.Stubs.csproj
│ ├── NugetResolver.cs
│ ├── build
│ └── Peachpie.Vendor.Stubs.targets
│ ├── PackageDiscovery.cs
│ ├── XmlDocProvider.cs
│ ├── GeneratePhpStubs.cs
│ └── PackageStubsRestore.cs
├── .github
└── workflows
│ └── PackagePublish.yml
├── LICENSE.md
├── Directory.Build.props
└── .gitignore
/docs/logo/logo_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/docs/logo/logo_en.png
--------------------------------------------------------------------------------
/docs/logo/logo_ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/docs/logo/logo_ru.png
--------------------------------------------------------------------------------
/docs/images/template_app.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/docs/images/template_app.jpg
--------------------------------------------------------------------------------
/Samples/Application/Assets/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/Samples/Application/Assets/Logo.png
--------------------------------------------------------------------------------
/Samples/Application/Assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/Samples/Application/Assets/icon.png
--------------------------------------------------------------------------------
/Samples/ThreadsApp/Assets/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/Samples/ThreadsApp/Assets/Logo.png
--------------------------------------------------------------------------------
/Samples/Application/Assets/Warn64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FibonacciFox/Peachpie.Avalonia/HEAD/Samples/Application/Assets/Warn64.png
--------------------------------------------------------------------------------
/Samples/MVVM/ViewLocator.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/reinstall-templates.ps1:
--------------------------------------------------------------------------------
1 | dotnet new uninstall Peachpie.Avalonia.Templates
2 | cd ./Templates/Peachpie.Avalonia.Templates/
3 | dotnet build
4 | dotnet new install Peachpie.Avalonia.Templates
5 | pause
--------------------------------------------------------------------------------
/Samples/MVVM/ViewModels/ViewModelBase.php:
--------------------------------------------------------------------------------
1 | =8.1"
5 | },
6 | "license": "MIT",
7 | "authors": [ { "name": "FibonacciFox" } ],
8 | "autoload": {
9 | "psr-4": {
10 | "Peachpie\\Avalonia\\": "src/"
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/Templates/Peachpie.Avalonia.Templates/templates/php/avalonia.library/src/HelloWorld.php:
--------------------------------------------------------------------------------
1 |
7 | {
8 | public bool IsReadOnly => ((ICollection