Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从WPF列表框中删除项目并更改所选索引后,高亮显示样式会有所不同,直到实际单击鼠标为止_C#_Wpf_Listbox - Fatal编程技术网

C# 从WPF列表框中删除项目并更改所选索引后,高亮显示样式会有所不同,直到实际单击鼠标为止

C# 从WPF列表框中删除项目并更改所选索引后,高亮显示样式会有所不同,直到实际单击鼠标为止,c#,wpf,listbox,C#,Wpf,Listbox,所以我有一个绑定到可观察集合的列表框和一个保存索引的属性。我可以选择从列表框中删除所选项目。删除后,我将减少所选索引,并为所有涉及的属性更改raise属性 这是有效的,只是所选项目会以不同的灰色高亮显示,直到用户实际单击列表框中的另一个项目。因此,如果我以编程方式更改所选索引,与用户鼠标单击的结果不同,高亮显示样式基本上是不同的 有人知道如果所选索引设置为基础索引变量递减的结果,我如何从用户处获得所选索引的蓝色加粗突出显示,并单击以获得相同的蓝色加粗突出显示吗?这是一个焦点问题;如果列表框本身未

所以我有一个绑定到可观察集合的列表框和一个保存索引的属性。我可以选择从列表框中删除所选项目。删除后,我将减少所选索引,并为所有涉及的属性更改raise属性

这是有效的,只是所选项目会以不同的灰色高亮显示,直到用户实际单击列表框中的另一个项目。因此,如果我以编程方式更改所选索引,与用户鼠标单击的结果不同,高亮显示样式基本上是不同的


有人知道如果所选索引设置为基础索引变量递减的结果,我如何从用户处获得所选索引的蓝色加粗突出显示,并单击以获得相同的蓝色加粗突出显示吗?

这是一个焦点问题;如果
列表框
本身未聚焦,则它将变灰。这样做的目的是让您知道,例如,向下击将不会选择所选项目下方的项目,因为焦点当前位于其他位置


删除过程结束后,您将需要聚焦(或键盘聚焦,现在无法告诉您)列表框,当然,请确保不要破坏MVVM。

这是列表框模板的一部分。如果你不喜欢模板,就必须更改它。如果你能得到该模板的副本,这相对容易,tho.@Will:不建议这样做,这将在错误的位置解决问题,并创建不直观的交互(关于焦点的错误假设)。@H.B.是的,但是列表框选择的样式有点。。。奇怪的我在过去就注意到了这一点。未聚焦的高光太轻了。