Почему выходные данные интерфейса отличаются между этой версией кода XAML C #? - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь определить, почему следующий код C # не приводит к тому же выводу, что и версия XAML (верхняя картинка - XAML, нижняя картинка - код позади). Все параметры имеют одинаковые значения, и я вложил свои стековые макеты, и я не уверен, чего не хватает для приравнивания двух выходов. Любая помощь приветствуется. Спасибо!

enter image description here

Ниже приведен код XAML:

            <StackLayout Orientation="Horizontal" Spacing="0">
                <StackLayout BackgroundColor="#3d4f7c" WidthRequest="50" HeightRequest="50" VerticalOptions="Start">


                </StackLayout>

                <StackLayout HorizontalOptions="FillAndExpand" Padding="0" BackgroundColor="White">
                    <Frame HasShadow="True" CornerRadius="0" BackgroundColor="#ededef" Padding="6">
                        <Label TextColor="Black"  Text="This is text"></Label>
                    </Frame>
                </StackLayout>
            </StackLayout>

И это код позади:

                    var Description = new StackLayout { HorizontalOptions = LayoutOptions.FillAndExpand, Padding = new Thickness(6, 6, 6, 6), BackgroundColor = Color.White };
                    var Frame = new Frame { Content = new Label { Text = "This is a long text", TextColor = Color.Black }, BackgroundColor = Color.FromHex("ededef"), CornerRadius = 0 };
                    Description.Children.Add(Frame);

                    var Step = new StackLayout {WidthRequest = 50, HeightRequest=50, VerticalOptions=LayoutOptions.Start, BackgroundColor=Color.FromHex("3d4f7c") };

                    var StepDisplay = new StackLayout { Spacing = 0, Orientation = StackOrientation.Horizontal };

                    StepDisplay.Children.Add(Step);
                    StepDisplay.Children.Add(Description);
                    JitPageStackView.Children.Add(StepDisplay);

1 Ответ

0 голосов
/ 06 января 2019

В версии C # вы устанавливаете заполнение на StackLayout «Описание» вместо Frame

Измените это, и оно должно работать как версия XAML

var Description = new StackLayout { HorizontalOptions = LayoutOptions.FillAndExpand, BackgroundColor = Color.White };
var Frame = new Frame { Content = new Label { Text = "This is a long text", TextColor = Color.Black }, BackgroundColor = Color.FromHex("ededef"), CornerRadius = 0,  Padding = new Thickness(6, 6, 6, 6) };
Description.Children.Add(Frame);

var Step = new StackLayout {WidthRequest = 50, HeightRequest=50, VerticalOptions=LayoutOptions.Start, BackgroundColor=Color.FromHex("3d4f7c") };

var StepDisplay = new StackLayout { Spacing = 0, Orientation = StackOrientation.Horizontal };

StepDisplay.Children.Add(Step);
StepDisplay.Children.Add(Description);
JitPageStackView.Children.Add(StepDisplay);

Надеюсь, это поможет .-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...