Utilizando controlos do Extended WPF Toolkit™ Community Edition

Por vezes os controlos padrão disponibilizados para criar a nossa aplicação WPF não correspondem integralmente às nossas necessidades.

Uma primeira alternativa consiste em criar controlos personalizados, o que pode ser uma tarefa complexa para os menos experientes.

A segunda, mais simples, consiste em recorrer a bibliotecas e ferramentas adicionais, como é o caso da que vamos utilizar aqui.

A título de exemplo, vamos supor que desejamos utilizar uma TextBox para ler matrículas de automóveis posteriores a 2007.

Neste caso teremos que ler uma sequência de dois algarismos, duas letras e dois algarismos.

A forma mais simples que encontrei para este efeito foi utilizando o controlo MaskedTextBox do Extended WPF Toolkit™ Community Edition.

Aparentemente este site [CodePlex] vai encerrar mas logo se verá!

Como utilizar estes controlos?

#1 – Criar um projeto novo (ou abrir um já existente)

#2 – Utilizar o “nuget” para instalar o “Extended WPF Toolkit™ Community Edition”

Info:

nuget – http://www.nuget.org

Extended WPF Toolkit™ Community Edition – https://wpftoolkit.codeplex.com/

Para o efeito acedemos a …

Digitamos o comando que se encontra aqui

Verificamos que novas referências foram adicionadas ao projeto.

#3 – Adicionar o respetivo namespace ao XAML

A linha adicionada foi a seguinte:

xmlns:wpfTool="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"

#4 – Como usar, por exemplo, o MaskedTextBox para ler a nossa matrícula?

De forma a testar, vamos adicionar o seguinte controlo à nossa interface, bem como um botão adicional para teste.

<StackPanel Margin="20">
    <wpfTool:MaskedTextBox x:Name="matricila2007" Mask=">00-LL-00" Width="300" Height="80" FontFamily="Courier New" FontSize="60"/>
    <Button x:Name="ver" Content="Ver" Click="ver_Click" Width="300" Height="80" FontFamily="Courier New" FontSize="60"/>
</StackPanel>

O efeito seria o seguinte.

Descarregar exemplo: https://app.box.com/s/n4p98s5he1emcrvne8cf8pzgkxudzu1h

Não esquecer que, tal como nas expressões regulares, será necessário adequar a máscara às nossas necessidades, o que nem sempre é linear.

Deixo o link e a tabela para terminar.

https://wpftoolkit.codeplex.com/

Máscaras suportadas

Masking Element Description
0 Digit, required. This element will accept any single digit between 0 and 9.
9 Digit or space, optional.
# Digit or space, optional. If this position is blank in the mask, it will be rendered as a space in the Text property. Plus (+) and minus (-) signs are allowed.
L Letter, required. Restricts input to the ASCII letters a-z and A-Z. This mask element is equivalent to a-zA-Z in regular expressions.
? Letter, optional. Restricts input to the ASCII letters a-z and A-Z. This mask element is equivalent to a-zA-Z? in regular expressions.
& Character, required. If the AsciiOnly property is set to true, this element behaves like the “L” element.
C Character, optional. Any non-control character. If the AsciiOnly property is set to true, this element behaves like the “?” element.
A Alphanumeric, optional. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z.
a Alphanumeric, optional. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z.
. Decimal placeholder. The actual display character used will be the decimal symbol appropriate to the format provider, as determined by the control’s FormatProvider property.
, Thousands placeholder. The actual display character used will be the thousands placeholder appropriate to the format provider, as determined by the control’s FormatProvider property.
: Time separator. The actual display character used will be the time symbol appropriate to the format provider, as determined by the control’s FormatProvider property.
/ Date separator. The actual display character used will be the date symbol appropriate to the format provider, as determined by the control’s FormatProvider property.
$ Currency symbol. The actual character displayed will be the currency symbol appropriate to the format provider, as determined by the control’s FormatProvider property.
< Shift down. Converts all characters that follow to lowercase.
> Shift up. Converts all characters that follow to uppercase.
Disable a previous shift up or shift down.
\ Escape. Escapes a mask character, turning it into a literal. “\\” is the escape sequence for a backslash.
Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s