Xaml vs. NoXaml
用于WPF的Telerik UI带有两种类型的程序集——Xaml和NoXaml。本文将描述两者的区别,并帮助您选择一个版本。
让我们从这两种类型的dll包含相同的源代码开始。唯一的区别是Xaml程序集也嵌入了控件的所有样式。
装配位置
的Xamldll可以在Telerik UI for WPF安装文件夹/Binaries/
的NoXamldll可以在WPF安装文件夹/二进制文件的Telerik UI。NoXaml /
不支持混合Xaml和NoXaml dll。这是可行的,但在某些情况下会导致视觉或设计时问题。只使用其中一个版本。
Xaml总成
Xaml dll包含与NoXaml相同的代码,但它们也包含所有主题的UI控件的所有样式和模板。这意味着与NoXaml相比,它们的尺寸更大。
使用Xaml dll可以让你更容易地设置你的项目设置控件UI主题非常容易通过设置单个属性。请在设置主题篇文章。
只有NoXaml程序集和隐式样式主题机制支持在运行时更改应用程序主题。使用Xaml和StyleManager,您只能在运行时更改每个控件的主题。这是通过
StyleManager。主题
附加属性。
NoXaml总成
NoXaml dll具有与Xaml相同的代码,但它们不包含任何样式和模板。这使得他们尺寸更小与Xaml相比,但是它们需要更多的努力来设置。您将需要引用一个额外的主题dll,并将ResourceDictionaries与每个控件dll的样式合并。请在设置主题篇文章。
使用NoXaml的好处是您会吃饱设计时支持当使用不同于默认主题(Office_Black)时。
因为NoXaml dll隐式地应用控件样式,所以当您从Telerik控件派生自定义控件时,您将需要创建自定义样式并基于默认控件样式。派生的控件RadCartesianChart应该有一个风格,目标自定义控件,它是基于RadCartesianChartStyle.这同样适用于任何针对Telerik控件的自定义隐式样式。您需要以默认控件样式为基础,否则它们将被完全覆盖,并且最初应用于控件的所有setter和模板将丢失。你可以在样式化控件篇文章。
如何检查程序集版本
如果项目程序集是从Telerik UI for WPF安装文件夹引用的,则可以通过检查它们的文件夹轻松识别它们的版本。/ /二进制文件为Xaml dll和/二进制文件。NoXaml /用于NoXaml dll。
的属性Telerik.Windows.Controls.dll文件。只有这个文件在元数据中包含dll版本的信息。要获得这些信息,请使用以下步骤:
- 右键单击Telerik.Windows.Controls.dll文件并选择属性上下文菜单中的选项。
- 去细节选项卡中的属性窗口。
- 检查文件描述属性。如果dll是NoXaml,它应该包含Telerik.Windows.Controls +“(No XAML)”后缀。否则,将只有dll的名称。