我正在使用Silverlight 4的Accordion控件,我最近不得不向AccordionItem标题添加一个TextBox。用户现在可以在文本框中输入文本,但是当他们按下箭头键(向上或向下),输入或空格键时,手风琴项目会折叠/展开。我该如何避免这种行为?
答案 0 :(得分:0)
我最近发现,为了避免这种行为,我必须扩展AccordionItem和AccordionButton类:前者处理箭头键事件,而后者处理enter和whitespace键。只需覆盖OnKeyDown和OnKeyUp事件,如下所示:
public class KeyPressUnawareAccordionItem : AccordionItem
{
protected override void OnKeyDown(KeyEventArgs e)
{
}
protected override void OnKeyUp(KeyEventArgs e)
{
}
}
public class KeyPressUnawareAccordionButton : AccordionButton
{
protected override void OnKeyDown(KeyEventArgs e)
{
}
protected override void OnKeyUp(KeyEventArgs e)
{
}
}