[英]Creating a DataTemplate in UWP from code
我正在创建XAML解析器,并且为了与UWP类进行交互,我需要从代码生成DataTemplate
。
我已经看到DataTemplate
类具有LoadContent()
方法,但是如何使用它呢? 有没有一种方法可以指定必须加载哪些内容?
顺便说一下,我已经尝试实现IDataTemplate
接口,但是由于它是内部接口,因此我必须派生自DataTemplate
。
我已经看到DataTemplate类具有LoadContent()方法,但是如何使用它呢? 有没有一种方法可以指定必须加载哪些内容?
您可以参考DataTemplate.LoadContent方法 ,此文档中有示例代码,显示了如何在运行时使用LoadContent
方法更改Border的外观。 这是指定必须加载哪些内容的方法。
我了解您可能想使用XAML Parser在背后的代码中创建整个DataTemplate
,但不加载Resources
中存在的数据Resources
,那么您可以像这样编写示例:
StringReader reader = new StringReader(
@"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
<Ellipse Width=""300.5"" Height=""200"" Fill=""Red""/>
</DataTemplate>");
var template = XamlReader.Load(await reader.ReadToEndAsync());
ListView lv = new ListView();
lv.ItemTemplate = template as DataTemplate;
ObservableCollection<int> coll = new ObservableCollection<int>();
for (int i = 0; i < 20; i++)
{
coll.Add(i);
}
lv.ItemsSource = coll;
rootGrid.Children.Add(lv);
在这里,我使用XamlReader从字符串中解析了一个DataTemplate
并将此DataTemplate
用作ListView
的ItemTemplate
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.