我试图在 OnMeasure 方法中返回相同的大小。如果我将自定义控件的 RowDefinition 值设置为 auto,则自定义控件也会在下一行定义空间中呈现。
自定义控件以 3 行和 4 行呈现,第 4 行控件在屏幕上不可见。
[Xaml]
<Grid ColumnDefinitions="*,0.3*" RowDefinitions="auto,200,auto,auto">
<Button BackgroundColor="Blue" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" ></Button>
<Button BackgroundColor="Green" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" ></Button>
<local:MyBoxView BackgroundColor="Red" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" />
<Button Text="Button" BackgroundColor="Brown" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" />
</Grid>
[C#]
public class MyBoxView : BoxView
{
public MyBoxView()
{
}
protected override SizeRequest OnMeasure(double widthConstraint, double heightConstraint)
{
return new SizeRequest(new Size(widthConstraint, heightConstraint));
}
}
当我在网格视图中添加自定义(MyBoxview)控件时,意味着工作正常。请对此提出任何建议。