Ох. Начнём.
1. Правильно ли я понимаю, что кнопки генерируются динамически? Или коллекция btn_[i] заполнена заранее и все кнопки в ней есть?
2. Можно более подробно узнать о сценарии, в котором возникла такая задача? Сейчас неясно в какой момент времени должна происходить смена доступности кнопок.
3. ViewFirst или ViewModelFirst вы используете?
В любом случае, если возникла такая ситуация, то шаблон
MVVM уже не соблюдается - представление управляет само собой, а не данные управляют представлением. Тут есть несколько вариантов.
Если использование
команд вам не подходит, то в любом случае где-то должна быть та самая переменная со значением, на которую можно забиндиться.
Если переменная не булевого типа, то сделать это можно через
конвертер.
Если кнопки генерируются в контейнере элементов в зависимости от наполнения коллекции в VM, то можно прибиндиться к элементу коллекции. Если же для коллекции нужно прибиндиться к внешнему свойству, то подойдёт использование
RelativeSource.
Если всё-таки есть переменная в View, которая влияет на доступность кнопок - стоит подумать, как изменить код так, чтобы подобный сценарий не возник. Соблюдать mvvm полностью не всегда просто, но стараться это делать крайне рекомендуется. Что бы там не писали на хабре, но это удобный шаблон, который позволяет не запутаться в коде и вести разработку максимально быстро.
Я бы всё-таки попросил более подробно описать проблему, сейчас я не понимаю даже, в чём именно возникла загвоздка.