我只想提出一个关于WPF的用户控件的问题。我刚开始在我的WPF应用程序中使用这个“控件”,而不是在一个WPF窗口中“添加”我所有的控件。
无论如何,如果我使用用户控制,我会得到更快的处理时间吗?那么依赖属性呢?我仍然可以在我的用户控件和WPF窗口之间“通信”吗?
你对此有什么看法?提前谢谢。
发布于 2011-03-31 16:49:55
UserControls应该用于重用,但这并不是使用它们的主要原因。
使用useControsl的主要原因是将xaml的不同部分分开,这样每个部分只负责一个职责。例如,如果你要编写VisualStudio,你会在一个userControl中创建ToolBox,在另一个userControl中创建CodeEditor,等等。这主要是为了SRP,或单一责任原则。
重用或DRY (不要重复自己)很重要,但SRP更重要。
至于通信--是的,你会使用依赖属性。
发布于 2011-03-31 14:04:46
使用UserControls的主要原因是捆绑一组控件,以便它们可以重用(通常在同一个应用程序中)
至于“性能”,你正在向可视化树中添加一个额外的节点,所以它会变慢,但这几乎不会被注意到。
UserControl与窗口(或其父窗口)之间的通信与添加到布局类中的任何其他控件完全相似。
发布于 2011-03-31 14:02:20
我只在需要在两个或多个地方共享一组控件时才使用UserControl。若要在UserControl和Window之间通信,应在用户控件中实现DependencyProperty -ies。这是不利的。因此,在可能的情况下,我避免使用UserControl,而只使用它,例如,在两个版本(WPF和XBAP)之间共享布局。
https://stackoverflow.com/questions/5495733
复制相似问题