点击时更改图像

时间:2012-06-23 04:40:34

标签: windows-phone-7

我在我的应用程序中放置了一个图像作为按钮,我想在单击按钮时更改图像,如果我离开则必须重新获得其原始图像。在手机7中可以吗?

2 个答案:

答案 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" />