Мои навыки WPF все еще находятся на уровне новичка, так что это может быть не лучшим ответом.
Я бы связал свойство ListView ContextMenu со свойством в выделенном фрагменте кода. Это свойство может проверить ваш список и вернуть либо ноль, либо соответствующее контекстное меню по мере необходимости. Поскольку все это основано на деталях уровня представления, оно не затрагивает вашу бизнес-логику и приводит к желаемому поведению.
Дайте мне знать, если вы хотите пример кода для этого подошел