You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.0 KiB

using Microsoft.Maui.Layouts;
namespace ex_BindingToA2dArray_v2.MyLayouts;
public class MatrixLayout : Layout
{
public static readonly BindableProperty NbColumnsProperty
= BindableProperty.Create(nameof(NbColumns),
typeof(int),
typeof(MatrixLayout),
10);
public int NbColumns
{
get { return (int)GetValue(NbColumnsProperty); }
set { SetValue(NbColumnsProperty, value); }
}
public static readonly BindableProperty NbRowsProperty
= BindableProperty.Create(nameof(NbRows),
typeof(int),
typeof(MatrixLayout),
10);
public int NbRows
{
get { return (int)GetValue(NbRowsProperty); }
set { SetValue(NbRowsProperty, value); }
}
public static readonly BindableProperty HorizontalSpacingProperty
= BindableProperty.Create(nameof(HorizontalSpacing),
typeof(double),
typeof(MatrixLayout),
0.0);
public double HorizontalSpacing
{
get { return (double)GetValue(HorizontalSpacingProperty); }
set { SetValue(HorizontalSpacingProperty, value); }
}
public static readonly BindableProperty VerticalSpacingProperty
= BindableProperty.Create(nameof(VerticalSpacing),
typeof(double),
typeof(MatrixLayout),
0.0);
public double VerticalSpacing
{
get { return (double)GetValue(VerticalSpacingProperty); }
set { SetValue(VerticalSpacingProperty, value); }
}
protected override ILayoutManager CreateLayoutManager()
{
return new MatrixLayoutManager(this);
}
}