BindableProperty.Fody
0.1.2
See the version list below for details.
dotnet add package BindableProperty.Fody --version 0.1.2
NuGet\Install-Package BindableProperty.Fody -Version 0.1.2
<PackageReference Include="BindableProperty.Fody" Version="0.1.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add BindableProperty.Fody --version 0.1.2
#r "nuget: BindableProperty.Fody, 0.1.2"
// Install BindableProperty.Fody as a Cake Addin #addin nuget:?package=BindableProperty.Fody&version=0.1.2 // Install BindableProperty.Fody as a Cake Tool #tool nuget:?package=BindableProperty.Fody&version=0.1.2
Xamarin.BindableProperty.Fody
An assembly weaver, based on Fody, that automatically transforms plain auto-implemented properties into BindableProperties that can be used in Xamarin Forms.
Installation
Compile the BindableProperty project in order to build the NuGet package (it is in the "nuget" directory in the solution folder). Add this nuget package to your prject. Then, add a file called FodyWeavers.xml in your project root (build action must be set to Content), and write the following inside:
<?xml version="1.0" encoding="utf-8"?> <Weavers> <BindableProperty /> </Weavers>
See the Fody documentation for more info on the FodyWeavers.xml file.
Usage
Just decorate an auto-implemented get/set property with the Bindable attribute.
For example, this:
public class MyButton : Xamarin.Forms.Button { [Bindable] public string FontFamily { get; set; } } will become like this:
public class MyButton : Xamarin.Forms.Button { public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(Button), null, null); public string FontFamily { get { return (string)GetValue(FontFamilyProperty); } set { SetValue(FontFamilyProperty, value); } } } The public static readonly XxxProperty is automatically generated if not present. The getter and setter methods are automatically implemented with GetValue(...) and SetValue(...) methods, respectively. The Bindable attribute is removed from the resulting dll.
Other info
The actual weaver code is in the BindablePropery.Fody project, while the BindableProperty project serves to build the NuGet package.
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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.4 is compatible. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. 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 | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.2
- Fody (>= 3.2.3)
-
.NETStandard 1.4
- Fody (>= 3.2.3)
- NETStandard.Library (>= 1.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.