我试图编程两个按钮来模仿向上/向下箭头键行为,这意味着当我按下按钮时,它向上移动我的列表框中的一个项目等等。我写了下面的代码:以编程方式选择下一个列表框项目
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;
}
}
这个工作,但是,按压项目失去了选择按钮时...选择index的设置正确(其他databinded物品,绑定到选定的项目显示正确的值)但列表框项目不再突出显示。如何将选定项目设置为突出显示?
是的,这样更好。只添加如果(listbox_copy.selectedindex == 0){listbox_copy.focus();},因为如果第一个项目被选中,我再次按下它删除焦点.. – internetmw 2010-07-28 13:48:54
就个人而言,我不会打扰封装的Focus()方法一个if语句。我只是点击每个按钮来完成上/下。 – GenericTypeTea 2010-07-28 14:03:08
你真好!谢谢 – internetmw 2010-07-28 14:05:21