W latach 1973–2018 prowadził pracę dydaktyczną w Instytucie Historii Sztuki UJ. W latach 1999–2000 wykładał jako profesor wizytujący na Wolnym Uniwersytecie Berlińskim. W latach 1989–2020 był dyrektorem Zamku Królewskiego na Wawelu. W ciągu 30 lat kierowania tą instytucją doprowadził do kompleksowej konserwacji jego substancji zabytkowej i unowocześnienia działalności instytucji zgodnie ze standardami światowymi. Współorganizował liczne wystawy na Wawelu i za granicą (USA, Kanada, Japonia, Włochy).

W 1990 został wiceprzewodniczącym Społecznego Komitetu Odnowy Zabytków Krakowa. Był członkiem Rady do Spraw Muzeów, Centralnej Komisji do Spraw Stopni i Tytułów, Komitetu Nauk o Sztuce PAN. W latach 1998–2002 z ramienia Unii Wolności był radnym i wiceprzewodniczącym Sejmiku Województwa Małopolskiego I kadencji. W 2010 został członkiem korespondentem, a w 2015 członkiem czynnym Polskiej Akademii Umiejętności. W 2018 został wybrany na jej prezesa (uzyskał następnie reelekcję na tę funkcję).