XAML中的Silverlight控件在运行时为null
我已经创建了一个silverlight应用程序,上面有一个DeepEarth地图控件。这是我的基本XAMLXAML中的Silverlight控件在运行时为null,silverlight,initialization,nullreferenceexception,Silverlight,Initialization,Nullreferenceexception,我已经创建了一个silverlight应用程序,上面有一个DeepEarth地图控件。这是我的基本XAML <Grid x:Name="LayoutRoot" > <!-- Map Control --> <DeepEarth:Map x:Name="map" Margin="0,0,0,0"> <Controls:CoordControl VerticalAlignment="Bottom" HorizontalAlig
<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>
这意味着要对MyButton做一些事情,连接一些事件等等。问题是MyButton在运行时为空。怎么会?层次结构中的其他控件不为null。发生了什么事?当我退出测试版时,它就停止了。页面上的所有内容都正确呈现了吗?是的,按钮是可见的,单击它似乎起作用了。我的按钮中的发送者不就是按钮吗?所以你可以只做Button myLocalButton=(Button)sender,然后做你需要做的事情?这不是我真正想要的。长期目标是在那里有一个StackPanel,我将根据当前的应用程序状态动态添加命令按钮。要做到这一点,我需要有一个非空的引用来控制。你能按照常见问题解答以危险形式表达你的问题吗?这将帮助我们为大家提供一个更清晰的答案。Silverlight vWhateverIWasWorkingOn当时处于测试阶段啊,好的!!我以为你的意思是你退出了你的应用测试;-)。谢谢
public Page()
{
InitializeComponent();
new ButtonActionWithCancel(MyButton, new CreatePointCommand(map));
}
void MyButton_Click(object sender, RoutedEventArgs e)
{
if (MyButton == null) throw new Exception("Wat?");
}