В XAML всегда есть выход, если вы достаточно стараетесь. :) Что вам нужно, это Trigger
, из Blend SDK.
public class FocusTrigger : TargetedTriggerAction<Control>
{
protected override void Invoke(object parameter)
{
if (Target == null)
return;
Target.Focus();
}
}
Тогда чтобы использовать это что-то вроде:
<Button Content="Move focus">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<local:FocusTrigger TargetName="TheTextBox"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<TextBox x:Name="TheTextBox"/>
Если вы хотите ДЕЙСТВИТЕЛЬНО появиться, вы можете применить условие к своему триггеру и совершать всевозможные сумасшедшие поступки в XAML. Я скажу, что удивлен, что такого рода вещи не встроены.