Attributes.Avalonia
1.0.6
dotnet add package Attributes.Avalonia --version 1.0.6
NuGet\Install-Package Attributes.Avalonia -Version 1.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Attributes.Avalonia" Version="1.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Attributes.Avalonia" Version="1.0.6" />
<PackageReference Include="Attributes.Avalonia" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Attributes.Avalonia --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Attributes.Avalonia, 1.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Attributes.Avalonia@1.0.6
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Attributes.Avalonia&version=1.0.6
#tool nuget:?package=Attributes.Avalonia&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
English | 中文
Description
This is a simple project using attributes to simplify the property definitions of Avalonia.
Installation
You can install Attributes.Avalonia via NuGet.
Usage
- Use WithStyledProperty attribute on a class to define a StyledProperty.
[WithStyledProperty(typeof(string), "MyMessage")]
public partial class MyView : UserControl
{
}
which is the same with:
public partial class MyView : UserControl
{
public string MyMessage
{
get => GetValue(MyMessageProperty);
set => SetValue(MyMessageProperty, value);
}
public static readonly StyledProperty<string> MyMessageProperty =
AvaloniaProperty.Register<MyView, string>(nameof(MyMessage));
}
- Use WithDirectProperty attribute on a class to define a DirectProperty.
[WithDirectProperty(typeof(string), "MyMessage")]
public partial class MyView : UserControl
{
}
which is the same with:
public partial class MyView : UserControl
{
public string MyMessage
{
get => _myMessage;
set => SetAndRaise(MyMessageProperty, ref _myMessage, value);
}
private string _myMessage;
public static readonly DirectProperty<MyView, string> MyMessageProperty =
AvaloniaProperty.RegisterDirect<MyView, string>(nameof(MyMessage), o => o.MyMessage, (o, v) => o.MyMessage = v);
}
- Use WithAttachedProperty attribute on a class to define a AttachedProperty.
[WithAttachedProperty(typeof(TextBox), typeof(bool), "OnlyNumbers")]
public static partial class TextBoxHelper
{
}
which is the same with:
public static partial class TextBoxHelper
{
public static readonly AttachedProperty<bool> OnlyNumbersProperty =
AvaloniaProperty.RegisterAttached<TextBox, bool>("OnlyNumbers", typeof(TextBoxHelper));
public static bool GetOnlyNumbers(TextBox host)
{
return host.GetValue(OnlyNumbersProperty);
}
public static void SetOnlyNumbers(TextBox host, bool value)
{
host.SetValue(OnlyNumbersProperty, value);
}
}
- Use WithRoutedEvent attribute on a classto define a RoutedEvent.
[WithRoutedEvent(typeof(RoutedEventArgs), "MyClick", EventRoutingStrategies.Bubble)]
public partial class MyView : UserControl
{
}
which is the same with:
public partial class MyView : UserControl
{
public static readonly RoutedEvent<RoutedEventArgs> MyClickEvent =
RoutedEvent.Register<MyView, RoutedEventArgs>(nameof(MyClick), RoutingStrategies.Bubble);
public event EventHandler<RoutedEventArgs> MyClick
{
add => AddHandler(MyClickEvent, value);
remove => RemoveHandler(MyClickEvent, value);
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.11.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.