如何解决如何创建Xamafin表单UI的预定义类型的X元素
我想基于用户输入在Xamarin表单UI上创建元素,但是我不知道该怎么做。在所附的屏幕截图中,我想捕获与用户家庭有关的详细信息。每个成员都有姓名,出生日期,电话号码和电子邮件地址。
用户在“家庭成员数量”字段中指定家庭成员的数量,然后单击“添加”,这将创建指定数量的名称,出生日期,电话号码和电子邮件地址的实例。
我该怎么办?
解决方法
只需编写一个演示并实现jason在评论中所说的即可。使用collectionView并使用条目中的家庭成员用户输入更新itemSource
:
在xaml中:
<StackLayout Margin="20">
<Label Text="number of familay numbers"/>
<Entry x:Name="numberEntry" Placeholder="enter the number"/>
<Button Text="add" Clicked="Button_Clicked"/>
<CollectionView x:Name="testCollectionView" ItemsSource="{Binding familyMember}">
<CollectionView.ItemsLayout>
<LinearItemsLayout Orientation="Vertical"
ItemSpacing="20" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout>
<Label Text= "name"/>
<Entry Placeholder="enter the number"/>
<Label Text= "phone"/>
<Entry Placeholder="enter the phone"/>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
在后面的代码中:
public partial class MainPage : ContentPage
{
viewModel vm;
public MainPage()
{
InitializeComponent();
vm = new viewModel();
BindingContext = vm;
}
private void Button_Clicked(object sender,EventArgs e)
{
var text = numberEntry.Text;
int number = Convert.ToInt32(text);
for (int i = 0; i < number; i++)
{
PersonalInfo memberOne = new PersonalInfo() { name = "",phone = "" };
vm.familyMember.Add(memberOne);
}
}
}
public class viewModel {
public ObservableCollection<PersonalInfo> familyMember { get; set; }
public viewModel()
{
familyMember = new ObservableCollection<PersonalInfo>();
//PersonalInfo memberOne = new PersonalInfo() {name = "jack",phone="516" };
//familyMember.Add(memberOne);
}
}
public class PersonalInfo
{
public string name { get; set; }
public string phone { get; set; }
}
我在此处上传了sample project,随时可以问我任何问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。