在WPF列表框中选择选项卡时,将焦点设置在选定项上

本文关键字:焦点 设置 列表 WPF 选项 选择 | 更新日期: 2023-09-27 18:03:51

我有一个列表框在我的xaml文件,看起来像这样:

<ListBox Name="collateralPledgedListbox" 
         Style="{StaticResource USB_ListBox}" 
         Margin="0,0,5,39" Width="Auto"  
         ItemsPanel="{StaticResource USB_ListBox_ItemPlacement}"  
         TabNavigation="Local"  
         ItemContainerStyle="{StaticResource USB_ListBoxContainer}"  
         ItemsSource="{Binding Model.CollateralPledgedByMarriedIndividuals, Mode=TwoWay}"  
         ItemTemplate="{StaticResource USBcollateralColSumColInfoDataTemplate}"  
         ScrollViewer.HorizontalScrollBarVisibility="Hidden"> 
</ListBox>

当行数超过所提供的空间时,此列表框显示一个垂直滚动条。当我在ListBox内的控件中选择时,我无法向用户显示当前选定的行。

我使用c#作为我的语言。

在WPF列表框中选择选项卡时,将焦点设置在选定项上

听起来你所要做的就是设置焦点并刷新你的视图。你试过按照这个答案做吗?

private void Button_Click(object sender, RoutedEventArgs e)
{
  MainListBox.SelectedItem = MainListBox.Items[3];
  MainListBox.UpdateLayout(); // Pre-generates item containers 
 var listBoxItem = (ListBoxItem) MainListBox
      .ItemContainerGenerator
      .ContainerFromItem(MainListBox.SelectedItem);
  listBoxItem.Focus();
}