WPF:使用WPF用户控制的优点/缺点是什么?

WPF:使用WPF用户控制的优点/缺点是什么?,wpf,user-controls,Wpf,User Controls,我只想提出这个关于WPF的用户控制的问题。我刚开始在WPF应用程序中使用这个“控件”,而不是在一个WPF窗口中“添加”所有控件 无论如何,如果我使用用户控制,我会得到更快的处理时间吗?依赖属性呢?我仍然可以在用户控件和WPF窗口之间“通信”吗 你对此有什么想法?提前感谢。我只在需要在两个或多个地方共享控件组时使用UserControl。要在UserControl和Window之间进行通信,您应该在用户控件中实现dependencProperty-ies。这是不利的。因此,如果可能,我会避免使用U

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

无论如何,如果我使用用户控制,我会得到更快的处理时间吗?依赖属性呢?我仍然可以在用户控件和WPF窗口之间“通信”吗


你对此有什么想法?提前感谢。

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

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

至于“性能”,您正在将一个额外的节点添加到可视化树中,因此速度会变慢,但这几乎不会引起注意


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

用户控件应用于重用,但这不是使用它们的主要原因

使用UseControl的主要原因是将xaml的不同部分分开,以便每个部分只负责一项职责。例如,如果要编写VisualStudio,则需要在一个用户控件中创建工具箱,在另一个用户控件中创建代码编辑器,等等。这主要是针对SRP或单一责任原则

重复使用或干燥(不要重复)很重要,但SRP更重要


至于通信-是的,您将使用依赖属性。

什么是“更快的处理时间”*向FSM祈祷,这不是“更好的性能”*@BoltClock:数据处理时间是否敲响了警钟?向那些投票赞成/反对的人:请留言为什么你(反对)投票,这样我们才能得出答案。你们都有很好的答案,但我选择你的答案(为了SRP&DRY原则)。谢谢你把事情弄清楚。