Estudando a Herança dos Controles

11 06 2010

Nesse post eu vou expor parte das heranças de alguns controles.

Código para download

Veja essa imagem ela explica tudo, mas vou comentar logo após.

Esse diagrama foi montado de acordo com os controles do Framework Silverlight 4 e mostra as classes bases de todos os controles que tempos.

DependencyObject pai de todas os controles, isso significa que podemos fazer um cast em qualquer controle com ela.

Seguindo a Herança temos UIElement onde começamos a ter as propriedades dos controles. Boa parte das propriedades que temos nos controles foram implantadas na classe UIElement mas ainda não temos um design, dessa forma se criarmos um controle que herde de UIElement ele não aparecera na tela pois ainda não interpreta o layout.

Seguindo a herança temos agora FrameworkElement uma implementação de UIElement com mais propriedades mas ainda não podemos criar um controle com visual ele também não interpreta o layout.

Em seguida temos Control, essa sim interpreta o layout, podemos usar a propriedade Template pra construirmos o visual do controle.

A partir de Control as classes tem uma interação de layout. E as duas classes mais usadas são ContetControl e ItemsControl.

E qual a diferença de ContentControl e ItemsControl?

ContentControl recebe apenas um conteúdo e ItemsControl recebe mais de um conteúdo. Ficou confuso? Cria um ContentControl no xaml e tenta colocar 2 Grids dentro um abaixo do outro… vai causar uma exception pois como eu disse o ContentControl so aceita um conteúdo, no caso apenas um Grid. Agora tente colocar um ItemsControl com 2 Grids dentro… funciona perfeitamente.

Quando criamos um controle e vamos montar o design dele, usamos o Style pra isso, simplificando… editamos o Template dentro do Style e para que nosso controle tenha um Conteudo precisamos usar um recipiente. No caso de usemos um ContentControl temos que usar no Tempate um ContentPresenter como recipiente, e caso usemos um ItemsControl tempos que adicionar um ItemsPresenter no Template. Essa parte sera detalhada em outro post, quando montar o outro post coloco o link aqui.

Então essa e a base de todos os controles que temos no Framework Silverlight 4.

Para matar a curiosidade de alguns uma visão da herança de alguns dos principais controles.

Código para download

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: