Controles crianças são inacessíveis devido ao acesso modificador
-
19-09-2019 - |
Pergunta
Quando eu criar um controle de usuário no WPF parece que todos os filhos deste controle são declarados como interna? Eu não tenho sido capaz de verificar isso, nem encontrar quaisquer recursos discutindo este assunto em tudo.
Eu posso acessar os controles no mesmo assembly, mas não em um projeto de referência do conjunto, onde o controle de usuário está localizado. Existe uma maneira para substituir o modificador de acesso padrão de controles filho em XAML, então eu não tenho manualmente para expor os controles via propriedades no controle do usuário?
Solução
Você já tentou definir o atributo x:FieldModifier
de seus controles crianças a "public
"?
Outras dicas
No entanto, apenas torná-las públicas, não é boa ideia -. Seu design muito ruim
Você deve expor seus dados reais através de propriedades do seu UserControl. A melhor coisa seria a introdução de uma interface.
Uma outra solução (mais o "WPF-way") seria usando o contexto de dados como a única propriedade que é acedido a partir do exterior:. Os controlos podem ligar-se às propriedades que necessitam