在WPF ListBox中进行选项卡时,将焦点设置在所选项目上

时间:2016-08-23 22:04:15

标签: c# wpf model-view-controller listbox

我的xaml文件中有一个ListBox,如下所示:

<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显示垂直滚动条。 通过TabBox中的控件进行选项卡时,我无法向用户显示当前选定的行。

我使用C#作为我的语言。任何有关这方面的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

听起来你要做的就是设定你的焦点并刷新你的观点。 您是否尝试过this回答建议的内容?

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();
}