WPF:使用WPF UserControl有哪些优点/缺点?

时间:2011-03-31 05:41:53

标签: wpf user-controls

我只想提出有关WPF用户控制的问题。我刚开始在我的WPF应用程序中使用这个“控件”,而不是在一个WPF窗口中“添加”我的所有控件。

无论如何,如果我使用用户控件,我会获得更快的处理时间吗?依赖属性怎么样?我还可以在用户控件和WPF窗口之间进行“通信”吗?

您对此有何看法?提前谢谢。

3 个答案:

答案 0 :(得分:3)

UserControls应该用于重用,但这不是使用它们的主要原因

使用useControsl的主要原因是分离你的xaml的不同部分,这样每个部分只负责一个责任。例如,如果您要编写VisualStudio,您将在一个userControl中创建ToolBox,在另一个userControl中创建CodeEditor等。这主要用于SRP或单一责任委员会。

重用或干(不要重复自己)很重要,但SRP更重要。

关于沟通 - 是的,你会使用dependecy属性。

答案 1 :(得分:1)

使用UserControls的主要原因是捆绑一组控件,以便可以重用它们(通常在同一个应用程序中)

至于“性能”,你正在为可视化树添加一个额外的节点,所以它会更慢,但是很难注意到。

UserControl与窗口(或其父窗口)之间的通信与添加到布局类的任何其他控件完全相似。

答案 2 :(得分:0)

当需要在两个或多个地方之间共享控件组时,我只使用UserControl。要在UserControlWindow之间进行通信,您应该在用户控件中实现DependencyProperty -ies。这是不利的。因此,如果可能的话,我可以避免使用UserControl并仅使用它,例如,在两个版本(WPFXBAP)之间共享布局。