gpt4 book ai didi

c# - 入口控件扩展到 StackLayout 容器之外

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:07 24 4
gpt4 key购买 nike

我正在使用以下(测试)代码动态创建页面内容。我希望 Entry 控件保持在 StackLayout 范围内并裁剪其较大的 Text 值。不知怎的,这不像我想要的那样工作。

我在这里做错了什么?

public MyPage() {
InitializeComponent();

var stackMain = new StackLayout() {
Orientation = StackOrientation.Vertical,
Spacing = 2,
BackgroundColor = Color.Yellow
};
Content = stackMain;

Padding = new Thickness(15, Device.OnPlatform(25, 5, 5), 15, 10);

var label = new Label() {
Text = "Test:"
};
stackMain.Children.Add(label);

var stackEntry = new StackLayout() {
Orientation = StackOrientation.Horizontal
};

stackMain.Children.Add(stackEntry);

var entry = new Entry() {
Text = "Blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
IsEnabled = false,
HorizontalOptions = LayoutOptions.FillAndExpand
};
stackEntry.Children.Add(entry);

var button = new Button() {
Text = "Click me"
};
stackEntry.Children.Add(button);

}

This is working (short text) This is not working (long text)

最佳答案

你需要的是一个编辑器,条目只有一行,下面的代码已经过测试,它根据文本的大小固定了高度:

public class App : Application
{
public App()
{
// The root page of your application
var content = new ContentPage
{
Padding = new Thickness(15, Device.OnPlatform(25, 5, 5), 15, 10),
Title = "test",
Content = new StackLayout
{
Spacing = 2,
BackgroundColor = Color.Yellow,
Children = {
new Label {
Text = "Test:"
},
new Editor {
Text = "Blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
IsEnabled = false,
HorizontalOptions = LayoutOptions.Fill,
VerticalOptions = LayoutOptions.Fill
},
}
}
};

MainPage = new NavigationPage(content);
}
}

希望这对您有所帮助。

关于c# - 入口控件扩展到 StackLayout 容器之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com