如何在 C# 标记中将框架的高度设置为等于其宽度?



在微软的Xamarin文档中,他们有这个例子,展示了如何用XAML来做,但是我有一些动态生成的帧,所以我需要能够在c#中完成。

这里是XAML代码做到这一点,谁可以翻译成c#为我吗?
<BoxView Color="Red"
WidthRequest="200"
HeightRequest="{Binding Source={RelativeSource Self}, Path=WidthRequest}"
HorizontalOptions="Center" />

谢谢!

<BoxView Color="Red"
WidthRequest="200"
HeightRequest="{Binding Source={RelativeSource Self}, Path=Width}"
HorizontalOptions="Center" VerticalOptions="Center" />

通常在c#中,值在一个变量中;只需将该变量用于两个属性:

int size = 200;
var view = new BoxView() { WidthRequest = size, HeightRequest = size };

如果你已经有一个WidthRequest设置的视图,那么:

view.HeightRequest = view.WidthRequest;

可以使用setBinding方法(),如下面的代码所示:

var boxview=new BoxView();
boxview.Color=Color.CornflowerBlue;
boxview.HorizontalOptions = LayoutOptions.Center;
boxview.VerticalOptions = LayoutOptions.Center;
boxview.WidthRequest=100;
boxview.setBinding(BoxView.HeightProperty,new Binding("WidthRequest"),source:boxview);