我想就 WPF 的用户控件提出一些问题。我刚开始在我的 WPF 应用程序中使用这个“控件”,而不是将所有的控件都添加到一个 WPF 窗口中。
无论如何,如果我使用用户控件,我会得到更快的处理时间吗?依赖属性呢?我还能在我的用户控件和 WPF 窗口之间“通信”吗?
你有什么想法吗?先谢谢了。
我想就 WPF 的用户控件提出一些问题。我刚开始在我的 WPF 应用程序中使用这个“控件”,而不是将所有的控件都添加到一个 WPF 窗口中。
无论如何,如果我使用用户控件,我会得到更快的处理时间吗?依赖属性呢?我还能在我的用户控件和 WPF 窗口之间“通信”吗?
你有什么想法吗?先谢谢了。
用户控件应该用于重用,但这不是使用它们的主要原因。
使用UserControls的主要原因是为了分离XAML中的不同部分,以便每个部分只负责一个职责。例如,如果您要编写VisualStudio,则会在一个UserControl中创建ToolBox,在另一个UserControl中创建CodeEditor等。这主要是为了SRP或单一职责原则。
重用或DRY(不要重复自己)很重要,但SRP更重要。
至于通信-是的,您将使用依赖属性。
我只在需要在两个或多个地方共享控件组时才使用UserControl
。要在UserControl
和Window
之间进行通信,您应该在用户控件中实现DependencyProperty
。这是一个缺点。因此,如果可能的话,我会避免使用UserControl
,仅在例如在两个版本(WPF
和XBAP
)之间共享布局时使用它。