C# 列表框项目在选择后保持焦点
我不知道标题是否表达了我想要的。我在WPF中有一个列表框,我在其中生成许多元素。当我在生成的同时单击一个元素时,我希望我所选的项目不会在列表中向下移动,这样我就看不到它了,我希望停留在我单击它的确切位置 如果这是可能的,有人能指出一些关于如何在C中实现它的想法吗C# 列表框项目在选择后保持焦点,c#,wpf,C#,Wpf,我不知道标题是否表达了我想要的。我在WPF中有一个列表框,我在其中生成许多元素。当我在生成的同时单击一个元素时,我希望我所选的项目不会在列表中向下移动,这样我就看不到它了,我希望停留在我单击它的确切位置 如果这是可能的,有人能指出一些关于如何在C中实现它的想法吗 谢谢。假设这是一个好主意,并且您正在使用winforms 步骤1: 确定源中选定项的索引 步骤2: 将项目添加到列表框时,在该项目以前所在的索引处拆分列表框,然后在该点插入该项目,然后添加其余的项目,同时确保已删除该项目(如果该项目现在
谢谢。假设这是一个好主意,并且您正在使用winforms 步骤1: 确定源中选定项的索引 步骤2: 将项目添加到列表框时,在该项目以前所在的索引处拆分列表框,然后在该点插入该项目,然后添加其余的项目,同时确保已删除该项目(如果该项目现在位于列表的其他位置) 代码: //假设您知道如何在单击项目时获取该项目的位置并保存 //将项添加到名为OriginalItem的变量
public void PutTheItemInTheSameSpot()
{
var listboxitems = (List<Integer>)YourListBox.DataSource;
var originalClikedItem = OriginalItem;
var topPart = new List<Integer>();
for (i = 0; i < itemPosition; i++)
{
topPart.Add(listboxItems[i]);
}
topPart.Add(originalClickedItem);
var bottomPart = listboxitems.Remove(toppart);
YourListBox.DataSource = toppart.AddRange(bottomPart);
}
看到你关于它是WPF的编辑
可以在idea中工作。假设这是一个好主意,并且您正在使用winforms 步骤1: 确定源中选定项的索引 步骤2: 将项目添加到列表框时,在该项目以前所在的索引处拆分列表框,然后在该点插入该项目,然后添加其余的项目,同时确保已删除该项目(如果该项目现在位于列表的其他位置) 代码: //假设您知道如何在单击项目时获取该项目的位置并保存 //将项添加到名为OriginalItem的变量
public void PutTheItemInTheSameSpot()
{
var listboxitems = (List<Integer>)YourListBox.DataSource;
var originalClikedItem = OriginalItem;
var topPart = new List<Integer>();
for (i = 0; i < itemPosition; i++)
{
topPart.Add(listboxItems[i]);
}
topPart.Add(originalClickedItem);
var bottomPart = listboxitems.Remove(toppart);
YourListBox.DataSource = toppart.AddRange(bottomPart);
}
看到你关于它是WPF的编辑
可以在idea中工作。只是一个想法:您可以尝试在将项目添加到列表框时让视图响应事件。在事件处理程序中,您可以强制所选项目滚动到视图中,并将其保持在当前可查看位置:
listBox.ScrollIntoView(listBox.SelectedItem);
我以前从未尝试过这样做,因此它可能会或可能不会产生所需的效果?只是一个想法:您可以尝试在将项目添加到列表框时让视图响应事件。在事件处理程序中,您可以强制所选项目滚动到视图中,并将其保持在当前可查看位置:
listBox.ScrollIntoView(listBox.SelectedItem);
我以前从未尝试过,所以它可能会也可能不会产生预期的效果?什么UI,Winforms,WPF,ASP.NET?啊,对不起,我忘了说:WPF什么UI,Winforms,WPF,ASP.NET?啊,对不起,我忘了说:WPFYes,谢谢你的创意,为什么我想要这个,因为我可以右键单击该项目并使用它,但是当我选择项目时,它会消失,所以有点烦人是的,谢谢你的想法,为什么我想要这个,因为,我可以右键点击项目并使用它进行操作,但是当我选择项目时,它会消失,所以有点烦人