Зачем вам нужно знать, есть ли у них Фокус или нет?
Фокус - это функция для конкретного вида, поэтому я ожидаю, что ваши ViewModels не будут об этом заботиться.
Обычно, если я делаю что-то, основанное на элементе управления Focus, это делается для действия для конкретного вида, такого как DataTrigger, и в этом случае я использую код позади или триггерный код
позадипример
if (tb1.IsFocused|| tb2.IsFocused || tb3.IsFocused)
{
DoSomething();
}
Пример триггера
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb1}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb2}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding IsFocused, ElementName=tb3}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>