Pergunta

Preciso escrever um controle que deve levar apenas um certo tipo de controles infantis. Funcionalmente, ele funciona como um seletor, pois posso selecionar/ativar seus filhos, mas parece que não posso derivar do seletor porque um itemsControl pode levar qualquer tipo de criança (objeto). Eu realmente gostaria de ter o TypeNeTy de compilação aqui. Portanto, jogar uma exceção quando um filho do tipo errado é adicionado não é uma opção.

Essa restrição parece ser necessária porque o controle dos pais precisa confiar em certas propriedades e comportamento em seus filhos. Há também alguma comunicação direta das crianças com seus pais.

Como é algo assim geralmente tratado no WPF.

Foi útil?

Solução

ItemsControlEnrole seus filhos em um tipo de contêiner de itens de sua escolha. Assim, você conhece os filhos de seu ItemsControl sempre será desse tipo. Por exemplo, ListBoxsempre tem ListBoxItems quando crianças.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top