PCL应用程序中UI元素的动态渲染?

时间:2016-09-27 14:26:09

标签: xamarin xamarin.forms

我有一个问题,是否可以动态地在表单上呈现标签或按钮或任何UI元素? 对于Eg: 我正在构建一个复制我的网站的移动应用程序,因此页面和字段将是相同的UI将是不同的。 如果在网站上我在表单中添加了一个新字段,那么我可以直接将该字段添加到我的移动表格中而无需编码吗?

所以基本上我想将它存储在数据库中,并在加载页面时获取值并呈现UI。

这可能与Xamarin表格有关吗?

2 个答案:

答案 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。