Pergunta

Eu criei um aplicativo Silverlight com um controle de mapa DeepEarth nele. Aqui é a minha base de XAML

<Grid x:Name="LayoutRoot" >
    <!-- Map Control -->
    <DeepEarth:Map x:Name="map" Margin="0,0,0,0">
        <Controls:CoordControl VerticalAlignment="Bottom" HorizontalAlignment="Right" />
        <Controls:ScaleControl VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="12,12,12,40" />
    </DeepEarth:Map>
    <Controls:NavControl x:Name="navControl" >
        <StackPanel Orientation="Horizontal">
            <Button x:Name="MyButton" Content="Hi" Click="MyButton_Click"></Button>
        </StackPanel>
    </Controls:NavControl>
</Grid>

Eu tenho uma classe de comportamento que eu criei que eu quero anexar ao botão

public Page()
{
    InitializeComponent();
    new ButtonActionWithCancel(MyButton, new CreatePointCommand(map));
}
void MyButton_Click(object sender, RoutedEventArgs e)
{
    if (MyButton == null) throw new Exception("Wat?");
}

Este destina-se a fazer algumas coisas para MyButton, arrumar alguns eventos e outras coisas. O problema é que MyButton é nulo em tempo de execução. Por quê? Outros controles na hierarquia não são nulos. O que está acontecendo?

Foi útil?

Solução

Ele parou de acontecer quando me mudei para fora da beta

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