Bir DataTemplate içindeki Grid içinde, görünür hale geldiğinde klavye odağına sahip olmak istediğim bir TextBox var. Ben de buldum
<DataTemplate x:Key="DistanceView" DataType="{x:Type vm:ROI}">
<Grid FocusManager.FocusedElement="{Binding ElementName=tbDistance}">
<TextBox x:Name="tbDistance" Grid.Column="1" Grid.Row="1" VerticalAlignment="Bottom"/>
</Grid>
</DataTemplate>
benim için çalışmadı.
Ancak üst ContentControl'de Focus () öğesini çağırdığımda
private void ContentControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if ((sender as ContentControl).IsVisible)
{
(sender as ContentControl).Focus();
}
}
çalışmaya başlar ve düzeltme işareti TextBox'ta görünür. FocusManager.FocusedElement özelliğinin herhangi bir etkiye sahip olması için FocusScope'a odak verilmesi gerektiğini düşünüyorum.
Jerry