我一直在尝试在 Android 中单击按钮时将标签视图添加到堆栈布局中。
但它会抛出空指针异常。以下是我想要实现的目标。任何人都可以请建议如何在 xamarin.forms 中实现这一目标
C# 中的 Xamarin.Forms 代码
StackLayout parent= new StackLayout ();
Button add= new Button
{
HorizontalOptions=LayoutOptions.End,
BackgroundColor=Xamarin.Forms.Color.White,
Text="ADD",
TextColor=Xamarin.Forms.Color.Maroon,
};
add.Clicked += OnButtonClicked;
Label firstLabel = new Label
{
Text = "Label 1",
HorizontalOptions = LayoutOptions.StartAndExpand,
TextColor=Xamarin.Forms.Color.FromHex("#000000")
};
parent.Children.Add(add);
parent.Children.Add(firstLabel );
在按钮单击中添加标签
void OnButtonClicked(object sender, EventArgs e)
{
Label secondLabel = new Label
{
Text = "Label 1",
HorizontalOptions = LayoutOptions.StartAndExpand,
TextColor=Xamarin.Forms.Color.FromHex("#000000")
};
parent.Children.Add(secondLabel );
}
提前致谢
你的代码按原样工作......只需一个微小的改变 - makeparent
一个类字段,因此它是从内部引用的OnButtonClicked
请确保更新解决方案包,以便拥有最新的 Xamarin.Forms。始终在解决方案级别更新包,这样就不会出现版本冲突
该版本已经过测试并可在 iOS 上运行:
public class LabelPage: ContentPage
{
StackLayout parent = null;
public LabelPage ()
{
parent = new StackLayout ();
Button add = new Button {
HorizontalOptions = LayoutOptions.End,
BackgroundColor = Xamarin.Forms.Color.White,
Text = "ADD",
TextColor = Xamarin.Forms.Color.Maroon,
};
add.Clicked += OnButtonClicked;
Label firstLabel = new Label {
Text = "Label 1",
HorizontalOptions = LayoutOptions.StartAndExpand,
TextColor = Xamarin.Forms.Color.FromHex ("#000000")
};
parent.Children.Add (add);
parent.Children.Add (firstLabel);
Content = parent;
}
void OnButtonClicked (object sender, EventArgs e)
{
Label secondLabel = new Label {
Text = "Label 1",
HorizontalOptions = LayoutOptions.StartAndExpand,
TextColor = Xamarin.Forms.Color.FromHex ("#000000")
};
parent.Children.Add (secondLabel);
//UpdateChildrenLayout ();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)