我在我的应用程序中放置了一个图像作为按钮,我想在单击按钮时更改图像,如果我离开则必须重新获得其原始图像。在手机7中可以吗?
答案 0 :(得分:1)
给你的按钮一个Click事件处理程序和你的图像一个名字,即:
<Button Click="ImageButton_Click" ...>
<Button.Content>
<Image Name="Image" ImageSource="ImageSource.jpg" />
</Button.Content>
</Button>
然后在事件处理程序
中private void ImageButton_Click(object sender, RoutedEventArgs e)
{
this.Image.ImageSource = new BitmapImage(
new Uri("NewImageSource.jpg", UriKind.Relative));
}
当您退出应用程序时,它会显示为逻辑删除(意味着它基本上会关闭并丢失所有信息,除了已保存的信息)如果您在其他地方导航或者如果按下后退按钮则完全关闭,其中任何一个都会重置将图像恢复到原始状态。
答案 1 :(得分:1)
添加两个名称空间
using System.Windows.Resources;
using System.Windows.Media.Imaging;
为鼠标输入和鼠标离开创建两个事件
private void btn_back_MouseEnter(object sender, MouseEventArgs e)
{
Uri myfile = new Uri("image.png", UriKind.Relative);
StreamResourceInfo resourceInfo = Application.GetResourceStream(myfile);
BitmapImage myimage = new BitmapImage(myfile);
myimage.SetSource(resourceInfo.Stream);
btn_back.Source = myimage;
}
private void btn_back_MouseLeave(object sender, MouseEventArgs e)
{
Uri myfile = new Uri("image.png.png", UriKind.Relative);
StreamResourceInfo resourceInfo = Application.GetResourceStream(myfile);
BitmapImage myimage = new BitmapImage(myfile);
myimage.SetSource(resourceInfo.Stream);
btn_back.Source = myimage;
}
xaml文件是
<Image Canvas.Left="10" Canvas.Top="17" x:Name="btn_back" Source="/NewUIChanges;component/Images/back_normal.png" Stretch="Fill" MouseLeftButtonUp="img_cnvstop_MouseLeftButtonUp" MouseEnter="btn_back_MouseEnter" MouseLeave="btn_back_MouseLeave" />