在Silverlight运行时创建一个ControlTemplate

本文关键字:一个 ControlTemplate Silverlight 运行时 创建 | 更新日期: 2023-09-27 18:03:40

我正在编写一个Silverlight应用程序,需要我在运行时动态创建一个ControlTemplate。我发现的大多数解决方案都涉及为每个案例创建一个新模板,但我有太多的案例无法这样做。我如何在c#中创建一个新的ControlTemplate ?

在Silverlight运行时创建一个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>");
相关文章: