使用 SelectionMode=None 在 ListView 中获取焦点列表项
Get focused list item in a ListView with SelectionMode=None
我有一个这样的列表:
<ListView x:Name="MyList" SelectionMode="None" KeyDown="MyList_KeyDown">
<ListView.Items>
<x:String>Alfa</x:String>
<x:String>Beta</x:String>
<x:String>Gamma</x:String>
</ListView.Items>
</ListView>
在按键事件中,我想知道哪个项目处于焦点状态。但由于 SelectionMode 为 none,SelectedItem 为空。有什么办法可以解决这个问题吗?
您可以尝试这样的操作:
private void MyList_KeyDown(object sender, KeyRoutedEventArgs e)
{
var inFocus = FocusManager.GetFocusedElement() as ListViewItem;
if(inFocus?.Content != null)
{
//Selected data is now in inFocus.Content
}
}
我有一个这样的列表:
<ListView x:Name="MyList" SelectionMode="None" KeyDown="MyList_KeyDown">
<ListView.Items>
<x:String>Alfa</x:String>
<x:String>Beta</x:String>
<x:String>Gamma</x:String>
</ListView.Items>
</ListView>
在按键事件中,我想知道哪个项目处于焦点状态。但由于 SelectionMode 为 none,SelectedItem 为空。有什么办法可以解决这个问题吗?
您可以尝试这样的操作:
private void MyList_KeyDown(object sender, KeyRoutedEventArgs e)
{
var inFocus = FocusManager.GetFocusedElement() as ListViewItem;
if(inFocus?.Content != null)
{
//Selected data is now in inFocus.Content
}
}