【问题标题】:How can I convert a ControlTemplate to a XAML string in WPF?如何在 WPF 中将 ControlTemplate 转换为 XAML 字符串?
【发布时间】:2014-04-13 15:34:16
【问题描述】:
我正在使用名为 RadPane(Telerik 库的一部分)的 WPF 自定义控件,当我取消停靠然后重新停靠 RadPane 时,我观察到一些奇怪的行为,我怀疑它会动态更改某些模板,所以我想知道是否有任何方法可以查看 ControlTemplate 的底层 XAML?例如,RadPane 具有以下成员:
RadPane.BottomTemplate 类型为 ControlTemplate。
如何在 WPF 中将ControlTemplate 转换为 XAML 字符串?
【问题讨论】:
标签:
c#
wpf
xaml
templates
telerik
【解决方案1】:
// Create an XmlWriter
StringBuilder sb = new StringBuilder();
XmlWriterSettings xmlSettings = new XmlWriterSettings
{ Indent = true, IndentChars = " ", NewLineOnAttributes = true };
XmlWriter writer = XmlWriter.Create(sb, xmlSettings);
XamlWriter.Save(RadPane.BottomTemplate, writer);
来自this question。