Tôi có một TextBox bên trong Grid bên trong DataTemplate mà tôi muốn có tiêu điểm bàn phím khi nó hiển thị. Tôi cũng thấy rằng
<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>
không làm việc cho tôi.
Tuy nhiên, khi tôi gọi Focus () trong ContentControl mẹ
private void ContentControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if ((sender as ContentControl).IsVisible)
{
(sender as ContentControl).Focus();
}
}
nó bắt đầu hoạt động và dấu mũ hiển thị trong TextBox. Tôi nghĩ FocusScope phải được cấp tiêu điểm cho thuộc tính FocusManager.FocusedElement để có bất kỳ tác dụng nào.
Jerry