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
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);
|
|
}
|
|
}
|