Я создал проект Xamarin.Forms с макетом XAML и макетом C#, чтобы быть опытным с обеих сторон монеты.
На моей странице содержимого Xaml я сделал Boxview внутри моего StackLayout вот так
<ScrollView>
<StackLayout>
<BoxView HeightRequest="100"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand"
WidthRequest="100">
<BoxView.Color>
<Color x:FactoryMethod="FromRgb">
<x:Arguments>
<x:Int32>0</x:Int32>
<x:Int32>0</x:Int32>
<x:Int32>255</x:Int32>
</x:Arguments>
</Color>
</BoxView.Color>
</BoxView>
<StackLayout>
</ScrollView>
Реплицируя его на мою C# ContentPage Я сделал
this.Content = new ScrollView {
Content = new StackLayout {
Children = {
new BoxView{
Color = Color.FromRgb(0, 0, 255),
HeightRequest = 100,
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.CenterAndExpand,
WidthRequest = 100
}
}
};
}
на обеих страницах. Я получаю правильный результат для прямоугольника синего цвета
У меня возникли проблемы с репликацией следующего в C# с использованием параметров типа Double
<Color x:FactoryMethod="FromRgb">
<x:Arguments>
<x:Double>1</x:Double>
<x:Double>0</x:Double>
<x:Double>0</x:Double>
</x:Arguments>
</Color>