Xamarin.Forms:以编程方式设置行距

时间:2020-04-19 13:26:42

标签: xamarin.forms

我有以下网格:

            <!--MainGrid-->
            <Grid Grid.Row="2" x:Name="maingrid_piccat">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>

                <Grid Grid.Row="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                         Aspect="AspectFit"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Picker x:Name="picker_maincat_pickcate" 
                            Grid.Column="1"
                            Title="Hauptkategorie"
                            FontFamily="arial"
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                        <Picker.Items>
                            <x:String>Cat 1</x:String>
                            <x:String>Cat 2</x:String>
                            <x:String>Cat 3</x:String>
                            <x:String>Cat 4</x:String>
                        </Picker.Items>
                        </Picker>

                </Grid>

                <Grid Grid.Row="1">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                         Aspect="AspectFit"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Picker x:Name="picker_subcat1_pickcate" 
                            Grid.Column="1"
                            Title="Unterkategorie 01"
                            FontFamily="arial"
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                        <Picker.Items>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                        </Picker.Items>
                    </Picker>

                </Grid>

                <Grid Grid.Row="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                         Aspect="AspectFit"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Picker x:Name="picker_subcat2_pickcate" 
                            Grid.Column="1"
                            FontFamily="arial"
                            Title="Unterkategorie 02"
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                        <Picker.Items>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                        </Picker.Items>
                    </Picker>

                </Grid>

                <Grid Grid.Row="3">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                         Aspect="AspectFit"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Picker x:Name="picker_subcat3_pickcate" 
                            Grid.Column="1"
                            FontFamily="arial"
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            Title="Unterkategorie 03"                                
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                        <Picker.Items>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                            <x:String>Subcat yx</x:String>
                        </Picker.Items>
                    </Picker>

                </Grid>

                <Grid Grid.Row="4" x:Name="row4_piccat">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                        x:Name="btn_dummy_piccat"
                         Aspect="AspectFit"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Entry x:Name="entry_name_pickcat" 
                            Grid.Column="1"
                            FontFamily="arial"
                           MaxLength="15"
                           Placeholder="Titel der Anzeige" 
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                    </Entry>

                </Grid>

                <Grid Grid.Row="5" x:Name="row5_piccat">
                    <Grid.ColumnDefinitions >
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*" />
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                         Aspect="AspectFit"
                         x:Name="btn_dummy_piccat2"
                         Grid.Column="1"
                         Source="btn_emptydummy.png" BackgroundColor="#00000000"/>

                    <Entry x:Name="entry_descri_pickcate" 
                            Grid.Column="1"
                            FontFamily="arial"
                           MaxLength="50"
                           Placeholder="Kurzbeschreibung" 
                            BackgroundColor="#00000000"
                            TextColor="#272727"
                            HorizontalOptions="Center" 
                            VerticalOptions="Center">
                    </Entry>

                </Grid>

                <Grid Grid.Row="6">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="4*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <ImageButton
                        Margin="10,10,10,10"
                        Grid.Column="1"
                        Aspect="AspectFit"
                        HorizontalOptions="Center"
                        VerticalOptions="Center"
                x:Name="name_btnfoto_pickcat"
                BackgroundColor="#00000000"
                Source="fotobutton.png" />



                </Grid>

            </Grid>

它工作正常,但是现在我想更改最后两行。现在倒数第二行应该有一个文本,该文本采用最后两行的大小。但我似乎无法使倒数第二行跨入最后一行。这是atm的结果:enter image description here

您可以看到,这里的内容就在第一行之内,但是我希望它能很好地重叠到第二行。这是当前的代码:

private void SetLayoutForTakers()
{
    btn_dummy_piccat2.IsVisible = false;
    entry_descri_pickcate.IsVisible = false;



    Grid grid = new Grid(); //Neues Grid
    BoxView bx = new BoxView();
    Label lb = new Label();


    //Label Properties
    lb.Text = "Tipp: Sie können auch nur nach Titeln suchen, oder nach bestimmten Titeln in einer oder mehrerer Kategorien!";
    lb.TextColor = Xamarin.Forms.Color.White;
    lb.FontSize = 12;
    lb.FontFamily = "arial";

    bx.Color = Xamarin.Forms.Color.Red;

    grid.Children.Add(bx);
    grid.Children.Add(lb);
    row5_piccat.Children.Add(grid,1,1);

}

那么我如何实现我的目标?最后,红色的boxview应该代替了两行(最后两行)rn,只在其中一行。

所有步骤都需要以编程方式完成:-)。

谢谢你!

1 个答案:

答案 0 :(得分:0)

Grid.Children.Add有一个重载,可让您指定范围值

public void Add (Xamarin.Forms.View view, int left, int right, int top, int bottom);

左 Int32

列跨度的左边缘。必须大于或等于0。

对 Int32

列跨度的右边缘。必须大于左侧。风景 将不会占用此列,但会在它之前停下。

顶部 Int32

行跨度的顶部边缘。必须大于或等于0。

底部 Int32

行跨度的底部边缘。必须大于top。

相关问题