Entry在水平上下文中不采用LayoutOptions.StartAndExpand

Ste*_*eAp 9 xamarin xamarin.forms

我想使用扩展 EntryButton横向StackLayout:

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
        }

    }};
Run Code Online (Sandbox Code Playgroud)

虽然Entry是在开始时,Button最后,Xamarin.Forms 不会改变Entry填充水平空间的大小:

在此输入图像描述

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

Ste*_*oix 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
        }
    }};
Run Code Online (Sandbox Code Playgroud)

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