Wpf 在不相关的附加属性中存储信息是一种代码气味吗?
我刚才在看一个名为“how-to”的WPF视频,它描述了当你想将两条信息与一个控件关联时该怎么做。如果您想将一条信息放入,他们会说使用Tag属性Wpf 在不相关的附加属性中存储信息是一种代码气味吗?,wpf,attached-properties,Wpf,Attached Properties,我刚才在看一个名为“how-to”的WPF视频,它描述了当你想将两条信息与一个控件关联时该怎么做。如果您想将一条信息放入,他们会说使用Tag属性 <Grid> <TextBox Tag="innerData"> </Grid> <Grid> <TextBox Tag="innerData" Canvas.Top="55"> </Grid> 很公平 但是他们说,“如果你想存储第二段数据,比如说一个整数,
<Grid>
<TextBox Tag="innerData">
</Grid>
<Grid>
<TextBox Tag="innerData" Canvas.Top="55">
</Grid>
很公平
但是他们说,“如果你想存储第二段数据,比如说一个整数,会发生什么?”他们说解决方案是使用一个未使用的附加属性
<Grid>
<TextBox Tag="innerData">
</Grid>
<Grid>
<TextBox Tag="innerData" Canvas.Top="55">
</Grid>
他们说因为它在网格中,没问题!我说“哎哟!”这让我觉得非常恶心……而且读起来很容易误导人。这是一种常见的做法吗?它既快捷又简单,但最好定义自己的附加属性或自定义控件来处理这些情况。这类事情对于原型或快速一次性应用程序来说是可以的,但如果代码的实际使用寿命需要维护,就不应该这样做。这很快也很简单,但最好定义自己的附加属性或自定义控件来处理这些情况。对于原型或快速一次性应用程序来说,这类事情是可以的,但如果代码的实际使用寿命需要维护,就不应该这样做。是的,这是一种气味 我不确定它是否普遍——我以前从未见过 坦白地说,我发现标签本身就是一种框架认可的气味。是的,它是一种气味 我不确定它是否普遍——我以前从未见过 坦率地说,我发现
Tag
本身就是一个框架。不是最佳实践
我一直认为,代码(包括Xaml)是为人类可读而编写的
要弄清楚谁在使用该属性,以及为什么使用该属性,需要进行大量的研究。这不是一个最佳实践
我一直认为,代码(包括Xaml)是为人类可读而编写的
要弄清楚谁在使用该属性,以及为什么要使用它,需要进行大量的研究。这项技术可以节省大量的时间。使用它可以告诉你,“我不应该再浪费时间学习这些培训材料了。”这种技术可以真正节省时间。使用它会告诉你,“我不应该再浪费时间学习这些培训材料了。”“他们说,因为它在网格中,没问题!”-在那一次之后,我嘴里有一点womit…“他们说,因为它在网格中,没问题!”-在那一次之后,我嘴里有一点womit…,是的,我的意思是,对于你将要扔掉的一次性应用程序,当然;什么都可以,对吧?但我说的是真正的应用;我的意思是,这就是视频的重点:“我如何:使用附加属性在WPF中存储额外数据”,这就是答案。我觉得很难看。是的,我的意思是,对于你要扔掉的一次性应用程序,当然;什么都可以,对吧?但我说的是真正的应用;我的意思是,这就是视频的重点:“我如何:使用附加属性在WPF中存储额外数据”,这就是答案。我觉得很难看。我同意,但我已经看得够多了,所以我接受了。这对我来说似乎更糟,因为Tag并没有真正的内涵,而Canvas.Top肯定有。我同意,但我经常看到它,所以我接受了它。这对我来说似乎更糟,因为Tag实际上没有任何内涵,而Canvas.Top肯定有。