Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 在不相关的附加属性中存储信息是一种代码气味吗?_Wpf_Attached Properties - Fatal编程技术网

Wpf 在不相关的附加属性中存储信息是一种代码气味吗?

Wpf 在不相关的附加属性中存储信息是一种代码气味吗?,wpf,attached-properties,Wpf,Attached Properties,我刚才在看一个名为“how-to”的WPF视频,它描述了当你想将两条信息与一个控件关联时该怎么做。如果您想将一条信息放入,他们会说使用Tag属性 <Grid> <TextBox Tag="innerData"> </Grid> <Grid> <TextBox Tag="innerData" Canvas.Top="55"> </Grid> 很公平 但是他们说,“如果你想存储第二段数据,比如说一个整数,

我刚才在看一个名为“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>


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

它既快捷又简单,但最好定义自己的附加属性或自定义控件来处理这些情况。这类事情对于原型或快速一次性应用程序来说是可以的,但如果代码的实际使用寿命需要维护,就不应该这样做。

这很快也很简单,但最好定义自己的附加属性或自定义控件来处理这些情况。对于原型或快速一次性应用程序来说,这类事情是可以的,但如果代码的实际使用寿命需要维护,就不应该这样做。

是的,这是一种气味

我不确定它是否普遍——我以前从未见过

坦白地说,我发现标签本身就是一种框架认可的气味。

是的,它是一种气味

我不确定它是否普遍——我以前从未见过

坦率地说,我发现
Tag
本身就是一个框架。

不是最佳实践

我一直认为,代码(包括Xaml)是为人类可读而编写的

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

这不是一个最佳实践

我一直认为,代码(包括Xaml)是为人类可读而编写的


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

这项技术可以节省大量的时间。使用它可以告诉你,“我不应该再浪费时间学习这些培训材料了。”

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

“他们说,因为它在网格中,没问题!”-在那一次之后,我嘴里有一点womit…“他们说,因为它在网格中,没问题!”-在那一次之后,我嘴里有一点womit…,是的,我的意思是,对于你将要扔掉的一次性应用程序,当然;什么都可以,对吧?但我说的是真正的应用;我的意思是,这就是视频的重点:“我如何:使用附加属性在WPF中存储额外数据”,这就是答案。我觉得很难看。是的,我的意思是,对于你要扔掉的一次性应用程序,当然;什么都可以,对吧?但我说的是真正的应用;我的意思是,这就是视频的重点:“我如何:使用附加属性在WPF中存储额外数据”,这就是答案。我觉得很难看。我同意,但我已经看得够多了,所以我接受了。这对我来说似乎更糟,因为Tag并没有真正的内涵,而Canvas.Top肯定有。我同意,但我经常看到它,所以我接受了它。这对我来说似乎更糟,因为Tag实际上没有任何内涵,而Canvas.Top肯定有。