Pergunta

Este é um pouco de uma questão de noob, mas eu só percebi que se eu criar um UserControl e escolha para citar alguns dos seus elementos filho de um la -

<UserControl x:Class="UserControls.uControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid x:Name="maingrid">

</Grid>

então eu posso referenciar os elementos nomeados no código-behind do XAML consumindo. Assim, para o exemplo acima eu poderia escrever

uControl.mainGrid = new Grid();

Estou curioso para saber porque este é o caso e, mais importante, como posso encapsular segurança esses controles.

Como de costume, qualquer ajuda seria muito apreciada.

Foi útil?

Solução

O que você quer é o x:FieldModifier atributo:

<UserControl x:Class="UserControls.uControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="300">
    <Grid x:Name="maingrid" x:FieldModifier="private">
    </Grid>
</UserControl>

O padrão é interno , por algum motivo. Você pode ler mais sobre isso aqui .

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