I am trying to center a selected item in a ListView inside a ScrollViewer and struggling to calculate the vertical offset that I should be setting the ScrollViewer relative
Yup, this worked for me out of the box with ScrollIntoView
private void CountKeyBoard_NavigationEvent(object sender, Controls.UserControls.NavigationEventArgs e)
{
if (lvInvDetails.SelectedItem != null && lvInvDetails.SelectedIndex != -1)
{
switch (e.Direction)
{
case Controls.UserControls.NavigationEventArgs.DirectionEnum.NEXT:
if (lvInvDetails.SelectedIndex >= (lvInvDetails.Items.Count - 1))
lvInvDetails.SelectedIndex = 0;
else
lvInvDetails.SelectedIndex++;
break;
case Controls.UserControls.NavigationEventArgs.DirectionEnum.PREVIOUS:
if (lvInvDetails.SelectedIndex > 0)
lvInvDetails.SelectedIndex--;
else
lvInvDetails.SelectedIndex = lvInvDetails.Items.Count - 1;
break;
}
lvInvDetails.ScrollIntoView(lvInvDetails.SelectedItem);
}
}