Tak jak opisujesz, najczęstszym użyciem właściwości Tag
, z którą się zetknąłem i używam w obu WinFormach, WPF i Silverlight jest wskazanie prawdziwych danych, do których odnosi się kontrola. Jest to szczególnie użyteczne w przypadku instancji ListViewItem
lub automatycznie generowanego interfejsu użytkownika, w którym ma być używana ta sama procedura obsługi zdarzeń dla wielu obiektów, w których tylko dane docelowe są różne (tzn. Akcja do wykonania pozostaje taka sama).
Jednak użyłem także Tag
do przechowywania wartości wyliczeniowej (należy jednak unikać typów wartości, które powodowałyby boksowanie podczas przypisywania wartości do właściwości Tag
) lub ciągu, który jest następnie używany do określenia działania, które należy wykonać zamiast danych, na których to wykonać, i w jednym szczególnym użyciu, zapisałem delegata, aby automatycznie wygenerować niektóre przyciski i osadzić ich obsługi w Tag
(informacje obsługi były dostarczane w danych napędzane sposób).
Jestem pewna, że istnieje wiele innych sposobów użycia Tag
i wielu innych sposobów zastąpienia zastosowań Tag
czymś mocniej napisanym, ale w ten sposób go użyłem.
Delegat? Przypuszczam, że powinien, ale nigdy nie zdarzyło mi się, że delegaci też są obiektami. –
Używanie teraz znaczników ListViewItem: W hierarchii folderów/plików używam znacznika do przechowywania pełnej ścieżki do pliku, podczas gdy nagłówek wyświetla tylko nazwę. –