Попробуйте это:
RadioButtonAutomationPeer peer = new RadioButtonAutomationPeer(myRadioButton);
IToggleProvider tp = (IToggleProvider) peer;
while (tp.ToggleState != targetToggleState)
{
tp.Toggle();
}
Вам необходимо знать желаемое состояние переключения (Вкл., Выкл. Или Неопределенный). Или, если вы просто хотите переключиться в другое состояние, включите цикл while, просто вызовите Toggle.
Очевидно, что это не то же самое, что щелчок. Если вы привязали переключатель к команде, возможно, вам придется проявить немного ясности и сделать что-то подобное, чтобы заставить вашу автоматизацию работать:
<RadioButton ... (don't set the Command property)>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding MyCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</RadioButton>
Используя Blend SDK (это «i:» xmlns), вы вызываете команду при проверке RadioButton. Лично я бы применил этот подход даже без автоматизации, а просто связал команду с RadioButton: неясно, когда команда выполняется с привязкой, но триггеры добавляют некоторую ясность и избавляют меня от необходимости думать в следующий раз, когда я смотрю на код.