我只是来跟上的速度WPF和想要创建一个可重复使用的WPF控制。

当我看到选项创建项目,我看到"WPF用户控制图书馆"和"WPF定控制图书馆"。目前还不清楚我之间有什么区别他们和我的谷歌搜索没有打开任何体面的解释。

我想了解它们之间的差异和地区看到的一些实例时使用。

有帮助吗?

解决方案

在实践中定义控制的东西,你实在码的水平,同时可以使用XAML户的控制。定控制扩展的一个WPF控制基础课程和提供额外的功能,通过代码,以便所有增加的逻辑,并表示必须实现的内部编码。

用户控制技术上是正常内容的控制,它可以延长在某些部分在代码,但它通常被延伸通过将其他控制在它里面。所以如Kent提到一个用户控件是一个聚集的其他控制。这限制了你可以做什么用的用户控制相当。它更容易使用,但更多的限制不是一个完整的定义控制。

这些控制有一个小的差别从一个运行的观点。当建立一个应用而放置一个用户控件进入它,控制树有一个具体的用户控件模板。因此,如果我们考虑一个跛脚的例子的一个专门的按钮。如果使用的用户控制你会添加一个内的按钮 <UserControl> 元素。当使用定制的控制你得控制自己从一个按钮最有可能的。差就是可见的逻辑树。

而定义的控制将提供一个逻辑树似的

  • 窗口
    • CustomButton

用户控件会得到一个合乎逻辑的树

  • 窗口
    • CustomButtonUserControl
      • 按钮

因此,在最终用户控件只是一个普通型的你可以延长一点,并可以为其预先定义的内容。定义控制提供了更大的灵活性为代价的易于实施,因为你必须做所有的逻辑和相互作用的代码,而不是有益的样式

虽然这一切之后,我不认为有那么多的区别在Visual Studio模板。最有可能Visual Studio定的控制只是创建一个项目与空定义的控制,同时用户的控制项目是一个空的用户控制。你可以在以后添加任何类型的项目,该项目。

更新

和我的意见时使用定制的控制和用户控制是,如果你能得到的东西做的用户控制和额外的控制元素在逻辑树不打扰你,用用户的控制,因为他们是以更容易地创建和维护。使用定制的控制,如果你有一个理由不能使用的用户控制。

其他提示

Control表示一些可换肤(可模板化)的行为,而UserControl通常是特定于应用程序的<=> s的更高级别聚合。

此处提供了更多信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top