none
请问win8 metro风格开发中Image里面图片为什么不能更新 RRS feed

  • 问题

  • 我的注册页面里有个Image是用来显示验证码的,页面加载时会请求网络然后会拿到这个验证码图片,然后每次点击图片都会去再次请求网络,更新验证码图片。

    现在问题是第一次图片可以正常拿到,且显示在页面上,但是点击它后,它一直不会更新新的图片。

    这个验证码接口是正解的,因为它一直在被其它软件使用。

    而且拿到的图片数据的内存地址每次都是不一样的。

    我觉得可能是图片绑定的问题,或者是图片缓存的问题。

    以下是相关代码:

    Xaml:

    这里绑定BookData对象的BookImg属性

     <Image x:Name="authCode" Source="{Binding BookImg}" Width="90" />

    CPP:

       在点击图片后,连网成功,解释成功后,会得到一个自定义的BookData对象m_data

       authCode->DataContext = m_data;

    BookData类

    [Windows::UI::Xaml::Data::Bindable]
    public ref class BookData sealed : public Book::Common::BindableBase
    {
         public:
             BookData();

             property Windows::UI::Xaml::Media::Imaging::BitmapImage^ BookImg { Windows::UI::Xaml::Media::Imaging::BitmapImage^ get(); void set      (Windows::UI::Xaml::Media::Imaging::BitmapImage^ value); }

    }   

    2012年7月20日 10:45

答案

  • 已解决。因为请求验证码的URL每次都是一样的。可能是系统底层代码认为是同一个请求,所以回了缓存数据给我。所以每次拿到的验证码图片是一样的。

    解决方案:

          在请求的URL的POST数据里面加了一个计数器作为参数。例如:A=1. 结果回来的数据就变了。


    2012年7月21日 3:19