在页面加载中设置listboxItem的焦点在Silverlight中
问题描述:
我想将焦点设置在页面加载的列表框的第一项上。在页面加载中设置listboxItem的焦点在Silverlight中
我不能使用:
listArtist.SelectedIndex=
为我导航到所选indexChanged另一页。
我有下面的代码,但它不工作:
void Event_Completed(object sender, RMSResponseEventArgs e)
{
listArtist.ItemsSource = e.eOutData;
listArtist.Focus();
}
答
所以最后我有一个办法解决它。首先,我必须删除slectedIndex_Changed事件,而不是使用按键事件(On Enter Key Press)导航到另一个页面。
现在我所做的是将列表框的焦点设置在列表框加载的事件上。如果您将尝试从XAML它不会工作,因为itemssource当时没有设置。所以,我的代码如下一些事情类似:
void Event_Completed(object sender, RMSResponseEventArgs e)
{
listArtist.ItemsSource = e.eOutData;
listArtist.Loaded += new RoutedEventHandler(listbox_Loaded);
}
void listbox_Loaded(object sender, RoutedEventArgs e)
{
listArtist.SelectedIndex = 0;
listArtist.Focus();
}
现在,如果你有兴趣我是如何管理的slectedIndex_changed事件然后很快如下:
private void listBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
// Your Code goes Here ;)
}