1

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

4

2 回答 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 回答