Запахивает ли хранение информации в связанных свойствах код? - PullRequest
1 голос
/ 02 сентября 2010

Я просто смотрел WPF-видео типа "как сделать", которое называется Как мне: использовать прикрепленные свойства для хранения дополнительных данных в WPF , и в нем описывалось, что делать, если вы хотите связать куски информации с одного элемента управления. Если вы хотите добавить одну информацию, говорят, что вы используете свойство Tag.

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

Достаточно справедливо.

Но затем они говорят: "Что произойдет, если вы захотите сохранить второй фрагмент данных, скажем, целое число?" Говорят, что решение состоит в том, чтобы использовать неиспользуемое вложенное свойство.

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

Говорят, потому что он в сетке, нет проблем! Я говорю "Блеф!" Это кажется мне крайне неприятным ... и вводящим в заблуждение чтением. Это обычная практика?

Ответы [ 4 ]

3 голосов
/ 02 сентября 2010

Да, это запах.

Я не уверен, что это распространено - я никогда раньше не видел.

Честно говоря, я считаю Tag запахом, поддерживаемым рамками.

2 голосов
/ 02 сентября 2010

Это быстро и просто, но определенно предпочтительнее определить собственные присоединенные свойства или пользовательский элемент управления для обработки таких ситуаций. Это тот тип вещей, который подходит для прототипов или быстрых одноразовых приложений, но этого не следует делать, если код будет иметь реальный срок службы, который потребует дальнейшего обслуживания.

1 голос
/ 02 сентября 2010

Не лучшая практика.

Я всегда придерживаюсь мнения, код (включая Xaml) написан так, чтобы его можно было читать человеку.

Чтобы выяснить это, потребуется немало исследованийкто использует это свойство и для чего.

0 голосов
/ 02 сентября 2010

Эта техника может реально сэкономить время.Использование этого говорит вам: «Я не должен больше тратить время на изучение этих учебных материалов».

...