如何在代码中创建silverlight数据模板?我见过很多WPF的例子,但Silverlight没有.
编辑:这是我现在使用的代码,基于以下圣地亚哥的回答.
public DataTemplate Create(Type type)
{
return (DataTemplate)XamlReader.Load(
@"<DataTemplate
xmlns=""http://schemas.microsoft.com/client/2007"">
<" + type.Name + @" Text=""{Binding " + ShowColumn + @"}""/>
</DataTemplate>"
);
}
Run Code Online (Sandbox Code Playgroud)
这非常好用,并允许我动态更改绑定.
小智 39
虽然您无法以编程方式创建它,但您可以从代码中的XAML字符串加载它,如下所示:
public static DataTemplate Create(Type type)
{
return (DataTemplate) XamlReader.Load(
@"<DataTemplate
xmlns=""http://schemas.microsoft.com/client/2007"">
<" + type.Name + @"/>
</DataTemplate>"
);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码片段创建了一个包含单个控件的数据模板,该控件可以是包含所需内容的用户控件.
小智 11
我对这段代码有一些问题,得到的元素不是异常.仅供参考,我需要将我的名称空间包含在DataTemplate中...
private DataTemplate Create(Type type)
{
string xaml = @"<DataTemplate
xmlns=""http://schemas.microsoft.com/client/2007""
xmlns:controls=""clr-namespace:" + type.Namespace + @";assembly=" + type.Namespace + @""">
<controls:" + type.Name + @"/></DataTemplate>";
return (DataTemplate)XamlReader.Load(xaml);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28212 次 |
| 最近记录: |