С MVVM вы должны думать более абстрактно. Вы не имеете дело со списком элементов HyperLink, но со списком целей навигации. То есть Вы должны отделить презентацию (элементы HyperLink) от данных (URL, заголовок, выбранный элемент или нет и т. д.). Теперь вы храните данные в списке на вашей ViewModel (обычно вы видите эти данные как ViewModel ваших гиперссылок и называете их соответственно). Элементы хранятся в коллекции ObservableCollection, так что вы можете отслеживать изменения, если элемент добавлен и т. Д.
Для отображения этого списка вы можете использовать класс, унаследованный от ItemsPresnter (например, ListBox), и использовать привязку для установки свойств. Теперь перейдя на страницу, вы можете установить свойство IsSelected соответствующего элемента в списке, сбросив все остальные свойства IsSelected.
Поскольку целевые объекты навигации можно рассматривать как глобальную коллекцию, вы также можете держать ее в свойстве ViewLocator, чтобы все виды и ViewModel могли получить доступ к этому списку, а настройка IsSelectedProperty применима ко всем представлениям. Эта глобальная коллекция представляет ваше состояние навигации.
И, кстати, атрибуты EventToCommand, RelayCommand и Command поддерживают только один параметр. Кроме того, из своего опыта я могу посоветовать вам, что не рекомендуется (хотя вы, очевидно, можете это делать) смешивать объекты View, такие как EventArgs или элементы, и вашу ViewModel.