9

我想在水平方向使用扩展 Entry和 a :ButtonStackLayout

var item = new StackLayout { 
    Orientation = StackOrientation.Horizontal,
    HorizontalOptions = LayoutOptions.FillAndExpand,
    Children = {

        new Entry { 
            Placeholder = "Feldtitel",
            VerticalOptions = LayoutOptions.Center,
            HorizontalOptions = LayoutOptions.StartAndExpand // NOTE THIS
        },
        new Button{ 
            Text = CFieldDescription.getNameForFieldType( fieldType ),
            VerticalOptions = LayoutOptions.Center,
            HorizontalOptions = LayoutOptions.End
        }

    }};

虽然Entryis 在开头,Buttonis 在结尾,但 Xamarin.Forms 不会更改 的大小Entry以填充水平空间

在此处输入图像描述

我需要更改我的代码吗?还是我发现了一个错误?

4

1 回答 1

21

将 更改Entry.HorizontalOptionsLayoutOptions.FillAndExpand以获得所需的效果:

var item = new StackLayout { 
    Orientation = StackOrientation.Horizontal,
    HorizontalOptions = LayoutOptions.FillAndExpand,
    Spacing = 12, //you probably want this
    Children = {
        new Entry { 
            Placeholder = "Feldtitel",
            VerticalOptions = LayoutOptions.Center,
            HorizontalOptions = LayoutOptions.FillAndExpand //there, fixed
        },
        new Button{ 
            Text = CFieldDescription.getNameForFieldType( fieldType ),
            VerticalOptions = LayoutOptions.Center,
            HorizontalOptions = LayoutOptions.End
        }
    }};

看起来LayoutOptions需要一些好的文档。

于 2014-06-08T05:59:05.793 回答