我想像这样访问XAML中包含在按钮中的Image对象:
<Button Name ="btn1" Click="ButtonClick">
<Image x:Name="imgbtn1" Source="/Assets/myImage1.png"/>
</Button>
在我的代码部分中,我具有Click处理程序,并且尝试了一些尝试来尝试从按钮发送器获取Image对象。到目前为止找到的所有解决方案都不适合我。这是我尝试过的其中一项操作的示例:
private void ButtonClick(object sender, RoutedEventArgs e)
{
Image image = (Image)((Button)sender).Child;
image.Source = "/Assets/myImage2.png"
}
执行此操作时,将以错误消息突出显示Child:“按钮”不包含“ Child”的定义。
如何从按钮发送器获取图像,或者我做错了什么?
答案 0 :(得分:1)
您必须使用Content
而不是child
。 Image
标签中出现的Button
表示其内容不是子内容。我已根据需要修改了您的代码。
<Button Name ="btn1" Click="Button_Click" >
<Image x:Name="imgbtn1" Source="/Assets/1.jpg"/>
</Button>
private async void Button_Click(object sender, RoutedEventArgs e)
{
Image image = (Image)((Button)sender).Content;
image.Source = new BitmapImage() { UriSource = new Uri("ms-appx:///Assets/2.png") };
}