Это зависит от того, где находится этот код. Если он находится внутри DataTemplate или ControlTemplate, вы можете использовать DataTrigger. Если нет (или даже если это так), вы сможете получить тот же эффект с помощью прямой привязки. В любом случае вы можете использовать один и тот же базовый метод. Если вы создаете IValueConverter, который принимает элементы listBox (набор ваших объектов данных) и выводит логическое значение, основанное на значениях состояния, вы можете использовать его для привязки IsEnabled кнопки или проверки значения в DataTrigger и отключения по мере необходимости.
Если вы говорите о выборе ListBox, когда говорите «выбрано / не выбрано», вам даже не нужно смотреть на сами значения Status. Если вы находитесь внутри шаблона (можете использовать триггеры), вы также можете просто проверить, есть ли в списке элементов какие-либо выбранные элементы:
<DataTrigger Binding="{Binding ElementName=listBox, Path=SelectedItems.Count}" Value="0">
<Setter TargetName="button" Property="IsEnabled" Value="False" />
</DataTrigger>