1

我只是在观看一个名为How Do I: Use Attached Properties to Store Extra Data in WPF的“操作方法”类型的 WPF 视频,它描述了当您想将两条信息与单个控件相关联时该怎么做。如果您想放入一条信息,他们会说使用 Tag 属性。

<Grid>
    <TextBox Tag="innerData">
</Grid>

很公平。

但随后他们会说,“如果你想存储第二条数据,比如一个整数,会发生什么?” 他们说,解决方案是使用未使用的附加属性。

<Grid>
    <TextBox Tag="innerData" Canvas.Top="55">
</Grid>

他们说因为它在网格中,没问题!我说“嘘!” 这让我觉得非常讨厌……而且读起来很容易误导。这是常见的做法吗?

4

4 回答 4

3

是的,它是一种气味。

我不确定它是否常见——我以前从未见过。

坦率地说,我发现Tag它本身就是一种框架认可的气味。

于 2010-09-01T20:44:50.877 回答
2

它既快速又简单,但最好定义自己的附加属性或自定义控件来处理这些情况。对于原型或快速一次性应用程序来说,这是一种可以接受的事情,但如果代码将有一个需要维护的真实生命周期,则不应该这样做。

于 2010-09-01T20:18:08.983 回答
1

不是最佳做法。

我始终认为,代码(包括 Xaml)被编写为人类可读的。

要弄清楚谁在使用该属性以及用于什么目的,需要进行大量研究。

于 2010-09-01T21:36:58.677 回答
0

这种技术可以真正节省时间。使用它会告诉你,“我不应该再浪费时间研究这些培训材料了。”

于 2010-09-02T18:30:56.160 回答