在我们的工作中,我们有一个争议正在进行,有些人想要创建用户控件,结合常用的控件,如标签和文本框,或标签和图像控件.就是这样的:
<StackPanel Orientation="Horizontal">
<Image Source="/Someimage/Somewhere.gif"/>
<Label>Some text, hyperlink, or other content</Label>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
<ImageLabel
HeaderImageSource="/Someimage/Somewhere.gif"
>
Some text, hyperlink, or other content
</ImageLabel>
Run Code Online (Sandbox Code Playgroud)
问题是,他们是否提供足够的封装和抽象来值得单独的用户控制?
是的,在我看来,这足以创建一个单独的用户控件 - 如果它们在您的上下文中形成一个逻辑组件。在我正在从事的项目中,如果我们想要重用这样的分组组件,我们会创建用户控件。
主要好处是您可以控制组件的结构和样式。考虑一下您想要在某处进行更改的情况。例如,在图像周围添加边框或为标签添加一些样式。您不想浏览代码来查找重复组件组的所有出现情况。相反 - 您只想更新这一处 - 即在您分离出来的自定义组件中。
另一个优点是如果您想将组件绑定到同一个对象。然后,您可以将 ImageLabel 绑定到该对象,并且您的组件可以以良好且干净的方式直接绑定到该对象内的属性。
注意:我假设您实际上想要重用此组件,并希望在整个应用程序中以相同的方式构建和样式化它。我永远不会创建一个如此简单且仅使用一次的用户控件。
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |