Silverlight - AccordionItem标题中的TextBox吃了按键

时间:2013-01-14 11:23:16

标签: silverlight textbox header accordion

我正在使用Silverlight 4的Accordion控件,我最近不得不向AccordionItem标题添加一个TextBox。用户现在可以在文本框中输入文本,但是当他们按下箭头键(向上或向下),输入或空格键时,手风琴项目会折叠/展开。我该如何避免这种行为?

1 个答案:

答案 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)
    {
    }
}