J'ai créé une application Silverlight avec un contrôle de carte DeepEarth. Voici ma base XAMLLe contrôle Silverlight dans XAML est nul à l'exécution
<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>
J'ai une classe de comportement que j'ai créé que je veux attacher au bouton
public Page()
{
InitializeComponent();
new ButtonActionWithCancel(MyButton, new CreatePointCommand(map));
}
void MyButton_Click(object sender, RoutedEventArgs e)
{
if (MyButton == null) throw new Exception("Wat?");
}
Ceci est destiné à faire des choses à MyButton, brancher certains événements et d'autres choses. Le problème est que MyButton est null à l'exécution. Comment venir? Les autres contrôles de la hiérarchie ne sont pas Nuls. Que se passe-t-il?
est tout rendu correctement sur la page? –
Oui le bouton est visible et en cliquant il semble fonctionner – mcintyre321
L'expéditeur dans MyButton_Click ne sera pas le bouton? Donc, vous pouvez juste faire Button myLocalButton = (Button) expéditeur, puis faire ce que vous avez besoin de lui? – mattmanser