Wpf 一个人如何测量/知道一个元素的重量?
我在WPF项目的UI端工作。我最喜欢的参考,而XAMLING目前是Adam Nathan的“Windows演示基金会释放”。他给出了以下关于控件模板的提示:“与其在控件模板中使用Wpf 一个人如何测量/知道一个元素的重量?,wpf,xaml,wpf-controls,Wpf,Xaml,Wpf Controls,我在WPF项目的UI端工作。我最喜欢的参考,而XAMLING目前是Adam Nathan的“Windows演示基金会释放”。他给出了以下关于控件模板的提示:“与其在控件模板中使用ContentControl,不如使用更轻的ContentPresenter元素” 与我一起工作的开发人员通常也会告诉我在我所做的所有XAML中尽可能使用最轻量级的元素——我完全理解这一点 如何找出不同元素的相对“权重”是多少?有一些显而易见的东西,比如RichTextBox与TextBox的对比。但是,例如,在任何一种
ContentControl
,不如使用更轻的ContentPresenter
元素”
与我一起工作的开发人员通常也会告诉我在我所做的所有XAML中尽可能使用最轻量级的元素——我完全理解这一点
如何找出不同元素的相对“权重”是多少?有一些显而易见的东西,比如RichTextBox
与TextBox
的对比。但是,例如,在任何一种情况下,我如何判断StackPanel
是否比网格更好
元素/控件的可视树是否是“权重”的良好指示器?我还可以看什么?当涉及到ContentPresenter与ContentControl之类的东西时,您可以检查继承层次结构:ContentPresenter派生自FrameworkElement,而ContentControl派生自Control 就面板而言,基本上网格具有最复杂的布局逻辑(这就是为什么它是最灵活的),所以通常任何其他面板都会更好,如果它能够完成任务的话。如果您想了解面板复杂性的具体指南,我将按以下顺序列出它们,从最简单到最复杂:
你好,阿贝,谢谢。根据您的回答:“……您可以检查继承层次结构:ContentPresenter派生自FrameworkElement,而ContentControl派生自Control。”因此,派生自Control的内容总是比派生自FrameworkElement.Panel的内容“重”,因为控件具有包含大量功能的控件模板?和:“网格-最灵活,因此具有最复杂的布局算法。”即,灵活性通常也是权重的良好指示。(我在这里大声思考,如果我错了,请纠正我!)是的,我同意你所有的澄清。我想说的是,控件被模板化确实是使它们更重的原因。由于您可以将控件的视觉树重新定义为全局样式,因此作为控件作者,您将不知道要添加多少视觉效果。。。