我有一个带有网格的Xamarin应用程序,其中有一个标签和一个条目。 当我更改Entry的文本时,我希望Label可见,如果它是空的,它不会显示Label。
我创建了一个演示应用来验证它与我的代码没有任何关系。但是以下代码也失败了
MainPage = new ContentPage
{
Content = new Grid
{
ColumnDefinitions = new ColumnDefinitionCollection
{
new ColumnDefinition { Width = new GridLength(1,GridUnitType.Auto) },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }
}
}
};
Label label;
Entry entry;
Grid mainGrid = ((Grid)((ContentPage)MainPage).Content);
mainGrid.Add(btnDelete = new MR.Gestures.StackLayout
{
Children = {
new ExtendedLabel { Style = Styles.LargeLabelIcon, Text = "\ue634", TextColor = Color.Black }
},
WidthRequest = 50
}, 0, 0);
mainGrid.Children.Add(label = new Label { Text = "TEST", IsVisible = false }, 0, 0);
mainGrid.Children.Add(entry = new Entry { }, 1, 0);
entry.TextChanged += (sender, arg) => label.IsVisible = entry.Text.Length > 0;
有人知道如何修复它吗?
答案 0 :(得分:1)
我不确定这是否是你想要实现的目标:
src/main/java/...
我已向控制器添加了垂直和水平选项。
答案 1 :(得分:0)
我刚刚遇到了一个非常相似的问题。我的子组件上的文本更改后,它会被截断。
问题是你不能将网格上的 ColumnDefinition
的 *
与子项上的 HorizontalOptions
混合在一起。两者兼而有之似乎打破了某些东西。用 HorizontalTextAlignment
替换它为我修复了它。
也许有一天这会帮助其他人。