Acabei de publicar mais uma behavior para Silverlight 3 na Microsoft Expression Gallery. Assim como a anterior, essa behavior serve para melhorar a usabilidade de controles em Silverlight, deixando-os com comportamento semelhante ao dos controles nativos para aplicações desktop. O que essa behavior faz é selecionar ítens no controle ao qual está associada, de acordo com a letra ou número que foi pressionado no teclado.

SelectorRapidAccessKeyBehavior no Microsoft Expression Gallery

Essa behavior só pode ser associada a controles do tipo Selector, como ComboBox e ListBox. Ela funciona no ComboBox mesmo quando está aberto.

É possível definir qual propriedade dos ítems do controle será utilizada para fazer a busca. Com isso, você pode popular o combo com suas classes, utilizando data binding, e definir na behavior que a busca será feita na propriedade Nome, por exemplo. Por padrão, a behavior vai tentar utilizar a propriedade Content.

image

Se a propriedade definida na behavior não for encontrada em algum ítem, esse ítem será ignorado.

A behavior converte o valor da propriedade para string antes de verificar se começa com a tecla pressionada, portanto funciona também para propridades de tipos numericos ou enumeradores.

O código fonte da behavior e da aplicação de exemplo estão publicados na Microsoft Expression Gallery

http://gallery.expression.microsoft.com/en-us/RapidAccessKey

Qualquer sugestão de melhoria ou correção de bug é bem vinda.