Я создал приложение silverlight с элементом управления картой DeepEarth. Вот моя база 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>
У меня есть созданный класс поведения, который я хочу прикрепить к кнопке
public Page()
{
InitializeComponent();
new ButtonActionWithCancel(MyButton, new CreatePointCommand(map));
}
void MyButton_Click(object sender, RoutedEventArgs e)
{
if (MyButton == null) throw new Exception("Wat?");
}
Это сделано для того, чтобы что-то делать с MyButton, подключать некоторые события и прочее Проблема в том, что MyButton имеет значение null во время выполнения. Как так? Другие элементы управления в иерархии не являются нулевыми. Что происходит?