WPF ListView 选中一行中的TextBox 即能选中TextBox所在当前行

2024-12-13 01:50:29
推荐回答(1个)
回答1:

换一种思维考虑,如果我们能得到所在行的index,那么就可以通过这个index选中我们要选的行。
ListView.SelectedIndex = index ; 不过我不支持这种做法,因为index不能直接获取呢。
我的做法如下:



为模板里的textbox添加gotfocus事件
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
var aa = (sender as TextBox).DataContext;
listView1.SelectedItem = aa;
}
获取textbox所在行所绑定的数据实体 然后再设置其选中状态。如果需要index的话,可以通过循环来获取这个实体是实体集合的第几项即可。