关注列表框中的第一个元素
本文关键字:第一个 元素 列表 | 更新日期: 2023-09-27 18:05:26
我面临以下问题。当我从具有键盘焦点的列表框中删除第一个元素时(通过刷新项目源),键盘焦点将移动到父窗口。我希望将键盘焦点保留在第一个列表框项上。所以我写了下面的代码
<Grid.Resources>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding FirstRowDeleted}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=MyListBox}" />
</DataTrigger>
</Style.Triggers>
</Style>
使用这段代码,我可以将焦点移动到列表框本身。如何将焦点移动到第一个列表框项?MyListBox[0]似乎不起作用。有什么建议吗?
感谢你Kaddy
我在这里找到了答案:如何在已经有焦点的WPF列表框中以编程方式将焦点设置为SelectedItem ?
var listBoxItem = (ListBoxItem) MainListBox
.ItemContainerGenerator
.ContainerFromItem(MainListBox.SelectedItem);
listBoxItem.Focus();
谢谢@Jeff的回答。
这段代码在页面加载时对第一个输入文本应用focus函数。Try it out
$(document).ready(function () {
$("#input:text:visible:first").focus();
});