为什么WPF中没有可视继承?

epo*_*ter 7 wpf inheritance

在Windows窗体中,有时会有一个窗口从另一个窗口继承.但在WPF中,这是不允许的.为什么WPF窗口没有可视继承?

小智 6

WPF不支持可视继承的原因是由于表单设计是通过标记(.xaml)实现的,而不是使用代码隐藏生成布局的winforms.代码隐藏是可扩展的,而标记则不是.Web表单也是如此.asp.net中的母版页提供了准视觉继承.因此,这是一种权衡,标记提供了清晰的布局和数据分离的好处,而代码隐藏提供了可视化的可扩展性.这有点遗憾,因为视觉可扩展性在GUI中创建一致性以及非常快速的开发方面非常有效.嗯,似乎耀斑比功能需求更多.WPF还可以......


Mua*_*Dib 1

在 WPF 中,我们付出了巨大的努力来将视觉与逻辑分开。因此,您可以有很大的自由度来设计您想要的 UI 外观。所有的控件,包括窗口,都是“不好看的”。您可以通过模板和样式提供自己的外观。已提供默认的视觉样式,使一切看起来都像您所期望的那样,但您不必使用它。

  • 这和问题有什么关系? (9认同)
  • 我同意。这个答案实际上是准确且信息丰富的,但与为什么 WPF 没有任何类型的视觉继承机制的问题完全无关。 (4认同)