c# - 以编程方式选择下一个列表框项目

标签 c# listbox selectedindex

我正在尝试对两个按钮进行编程以模仿向上/向下箭头键的行为,这意味着当我按下向上按钮时,它会在我的列表框中向上移动一个项目,依此类推。我写了下面的代码:

private void mainlistup(object sender, System.Windows.RoutedEventArgs e)
{
    if (listBox_Copy.SelectedIndex != -1 &&
        listBox_Copy.SelectedIndex < listBox_Copy.Items.Count &&
        listBox_Copy.SelectedIndex !=1)
    {
        listBox_Copy.SelectedIndex = listBox_Copy.SelectedIndex - 1;
    }
}

private void mainlistdown(object sender, System.Windows.RoutedEventArgs e)
{
    if (listBox_Copy.SelectedIndex < listBox_Copy.Items.Count &&
       listBox_Copy.SelectedIndex != -1)
    {
        listBox_Copy.SelectedIndex = listBox_Copy.SelectedIndex + 1;
    }
}

然而,这有效,当按下按钮时,项目失去了选择...选择索引设置正确(其他数据绑定(bind)项目,绑定(bind)到所选项目显示正确的值)但列表框项目不再突出显示。如何设置选中的项目高亮显示?

最佳答案

您的列表框可能刚刚失去焦点。只需在设置 SelectedIndex 后执行以下操作:

listBox_Copy.Focus();

关于c# - 以编程方式选择下一个列表框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353305/

相关文章:

c# - XAML 热重载不断停止。可能是什么问题?

wpf - 强制 TextBlock 在 WPF ListBox 中换行

c# - 在不更改所选项目的情况下聚焦 wpf 列表框

Javascript,selectedIndex 属性返回 [object HTMLSelectElement] + 值

C# Windows 窗体设置所选索引组合框的值

c# - xsd.exe - 类的架构 - 用于 WCF

c# - 如何播放音频流并同时加载到其中?

c# - 如何从 ListBox 中获取随机项,然后在 C# 中进行比较?

ios - 如何在非 UIView 类的 uiView 之间切换

c# - 在 DatagridView 中添加行总是在最后一行