在Silverlight运行时创建一个ControlTemplate
本文关键字:一个 ControlTemplate Silverlight 运行时 创建 | 更新日期: 2023-09-27 18:03:40
我正在编写一个Silverlight应用程序,需要我在运行时动态创建一个ControlTemplate。我发现的大多数解决方案都涉及为每个案例创建一个新模板,但我有太多的案例无法这样做。我如何在c#中创建一个新的ControlTemplate ?
你不能单独用c#在Silverlight中创建一个ControlTemplate。不像WPF(你可以设置VisualTree属性),你不能设置指定ControlTemplate的"内容"的属性。
你可以将XAML定义为字符串,然后在c#中动态加载,正如这篇博文所解释的。
代码可以归结为:
var template = (ControlTemplate)XamlReader.Load("<ControlTemplate " +
" xmlns='"http://schemas.microsoft.com/winfx/2006/xaml/presentation'"" +
" xmlns:x='"http://schemas.microsoft.com/winfx/2006/xaml'">" +
" content here " +
"</ControlTemplate>");