我想在水平Entry
中使用展开 Button
和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
}
}};
虽然Entry
位于开头,但Button
已结束,Xamarin.Forms 并未更改Entry
的大小以填充水平空间:
我需要更改我的代码吗?或者我发现了一个错误?
答案 0 :(得分:21)
将Entry.HorizontalOptions
更改为LayoutOptions.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
需要一些好的文档。