用户控件与WPF中的控制模板

时间:2013-03-11 06:37:22

标签: c# wpf user-controls controltemplate

我最近审核了某人的代码并遇到了一个用户控件,其UI就像这个截图

enter image description here

此控件的代码隐藏文件中没有代码,我想我们可以将此用户控件的所有xaml代码移动到控件模板,并在需要时使用它。我想知道这是一个好的做法,我应该这样做吗?

他们的一种方法的性能和设计优势是否超过另一种?

2 个答案:

答案 0 :(得分:1)

  

我想知道这是不是一个好习惯

首先,我们应该定义好的做法?我将给出敏捷的良好实践观点:只有在你需要时才这样做。因此,答案就在你的问题中:

  

在需要时使用

是否需要在任何其他地方?如果是这样,请使用控制模板。如果没有,请使用用户控件,无论如何都会对下一个开发者更具可读性(Keep It Stupid and Simple)。

答案 1 :(得分:1)

因为最终这将是一个UserCotrol,现在假设其他一些团队正在处理其他模块需要这个控件,他们想要在此Control中的Datagrid的Loaded事件,现在如果你在usercontrol中创建它作为datagrid那么他们可以很容易访问该datagrid并为其订阅Load Event。如果您将在ControlTemplate中执行此操作,那么即使不是不可能也是如此。