我有一个问题,是否可以动态地在表单上呈现标签或按钮或任何UI元素? 对于Eg: 我正在构建一个复制我的网站的移动应用程序,因此页面和字段将是相同的UI将是不同的。 如果在网站上我在表单中添加了一个新字段,那么我可以直接将该字段添加到我的移动表格中而无需编码吗?
所以基本上我想将它存储在数据库中,并在加载页面时获取值并呈现UI。
这可能与Xamarin表格有关吗?
答案 0 :(得分:0)
StackLayout sl = new StackLayout();
// controls is an IEnumerable of control types
foreach(var s in controls) {
switch (s.ControlType) {
case "Label":
sl.Add(new Label() { Text = s.Caption });
break;
case "Textbox":
sl.Add(new Entry());
break;
case "Button":
sl.Add(new Button() { Text = s.Caption });
break;
// add additional cases for whatever types of controls you want to support
}
}
答案 1 :(得分:0)
是。这个有可能。您可以将Xamarin Forms XAML存储在数据库中,并在不编写代码的情况下动态呈现该XAML。上面的答案可行,但它不是一个优雅的解决方案,因为你需要编写代码。
如果您克隆此repo,则会有一个动态呈现XAML的示例: https://github.com/MelbourneDeveloper/Adapt.Presentation.git
您可以将XAML存储在数据库中,并使用此方法加载UI。