887 questions
You can use XamlReader.Load
A test with a ListView with 2 columns :
string sXAML =
"<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">" +
" <Grid Height=\"48\" >" +
" <Grid.ColumnDefinitions>" +
" <ColumnDefinition Width=\"150\"/>" +
" <ColumnDefinition Width=\"100\"/>" +
" </Grid.ColumnDefinitions>" +
" <TextBlock Grid.Column=\"0\" VerticalAlignment=\"Center\" Style=\"{ThemeResource BaseTextBlockStyle}\" Text=\"{Binding Name}\" />" +
" <TextBlock Grid.Column=\"1\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Left\" Text=\"{Binding Type}\"/>" +
" </Grid>" +
"</DataTemplate>";
var ItemTemplate = (DataTemplate)XamlReader.Load(sXAML);
lv1.ItemTemplate = ItemTemplate;
lv1.ItemsSource = files;
with :
ObservableCollection<File> files = new ObservableCollection<File>();
files.Add(new File("File1", "Type1"));
files.Add(new File("File2", "Type2"));
public class File
{
#region Properties
public string Name { get; set; }
public string Type { get; set; }
#endregion
public File(string sName, string sType)
{
Name = sName;
Type = sType;
}
}