TeemeeT Ответов: 1

Динамическое содержимое XAML для модуля страницы рейтинга в формах xamarin


Hello,

The requirement is I need to have a rating page. We will be getting the questions in the database and we need to have a dynamic implementation of Rating control base on the number of questions. I am assuming that we need to create the controls in the backend(.cs file). We will be using the syncfusion control SfRating. Any idea or sample codes on how to create a xaml design in the code behind?


Что я уже пробовал:

Провел некоторые исследования для управления Сфрацией. Продолжаются исследования по внедрению.

1 Ответов

Рейтинг:
5

AnkushK1

Вы можете добавить код XAML в виде простой строки в C#, используя класс string или string builder. Класс XAMLReader используется для чтения, синтаксического анализа и визуализации кода XAML. Вот пример кода для определения и установки шаблона. Обязательно включите все псевдонимы и пространства имен в строку XAML.

System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<DataTemplate ");
sb.Append("xmlns='http://schemas.microsoft.com/winfx/");
sb.Append("2006/xaml/presentation' ");
sb.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' ");
sb.Append("xmlns:local = 'clr-namespace:yournamespace');

sb.Append(";assembly=<yourassembly>'>");

sb.Append("<Canvas Width='150'>");
sb.Append("<TextBlock Width='Auto' Canvas.Left='35' Canvas.Top='2' Text='{Binding Field1}' />");

sb.Append("<Image Height='20' Width='20' Canvas.Top='2' Canvas.Left='3' Source='img/details.png' ");
sb.Append("x:Name='imgDetails' />");
sb.Append("</Canvas>");
sb.Append("</DataTemplate>"); 

 TabControl.Template = (DataTemplate)System.Windows.Markup.XamlReader.Load(sb.ToString());