我在我的应用程序中放置了一个图像作为按钮,我想在单击按钮时更改图像,如果我离开它必须恢复其原始图像。手机7可以吗?
问问题
2432 次
2 回答
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));
}
当您退出应用程序时,如果您在其他地方导航,它要么被墓碑化(这意味着它基本上会关闭并丢失所有信息,但保存的信息除外),或者如果您按下后退按钮则完全关闭,其中任何一个都会将图像重置为其原始状态。
于 2012-06-23T05:06:02.277 回答
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" />
于 2012-06-28T11:37:39.650 回答