none
关于ThemeResource使用的问题 RRS feed

  • 问题

  • 大家好。

    具体问题是这样的:

    我在App.Xaml中定义了一个Double类型的资源,用来表示图片的透明度:

    <x:Double x:Key="imageOpacity">1.0</x:Double>

    图片的透明度通过ThemeResource的方式引用imageOpacity资源:

    <Image Opacity="{ThemeResource imageOpacity}">

    然后通过CS代码更改imageOpacity的值:

    Application.Current.Resources["imageOpacity"] = 0.5d;

    我遗憾的发现,当imageOpacity的值更改为0.5d之后,image的透明度并没有发生改变。

    请问大家,这是为什么呢?


    825386224@qq.com

    2015年2月28日 13:36

答案

  • 您好,

    是的我可以重现你的问题, 据我所知那是因为我们的image一直都是绑定的是前台定义的resource(Image Opacity="{ThemeResource imageOpacity}"),后台的更改是不会影响前台的,所以之后你再尝试通过在CS更改imageOpacity的值是无效的。
    如果你希望可以在后台实现更改值,就不要通过ThemeResource的方式引用imageOpacity资源。直接在后台设置:

    Application.Current.Resources["imageOpacity"] = 0.5d;
    var a= Application.Current.Resources["imageOpacity"];
    Image1.Opacity=Convert.ToDouble(a);
    

    详细信息请参考:https://msdn.microsoft.com/zh-cn/library/system.windows.application.resources(v=vs.110).aspx .

    ---Amy Peng


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月5日 5:30
    版主

全部回复

  • 你在mianpage.xaml里面定义看能成功吗?

    Vote if help you

    2015年3月4日 9:37
  • 您好,

    是的我可以重现你的问题, 据我所知那是因为我们的image一直都是绑定的是前台定义的resource(Image Opacity="{ThemeResource imageOpacity}"),后台的更改是不会影响前台的,所以之后你再尝试通过在CS更改imageOpacity的值是无效的。
    如果你希望可以在后台实现更改值,就不要通过ThemeResource的方式引用imageOpacity资源。直接在后台设置:

    Application.Current.Resources["imageOpacity"] = 0.5d;
    var a= Application.Current.Resources["imageOpacity"];
    Image1.Opacity=Convert.ToDouble(a);
    

    详细信息请参考:https://msdn.microsoft.com/zh-cn/library/system.windows.application.resources(v=vs.110).aspx .

    ---Amy Peng


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月5日 5:30
    版主