我在下面的代码与wp7中的样式资源非常简单,
<Style x:Name="image_find" x:Key="ImageFind1" TargetType="Image">
<Setter Property="Source" Value="display/pen.png"/>
</Style>
我想更改setter的源值,例如。 “display / tool.png”,当我想在我的应用程序的代码中运行时,请记住我需要风格的图像:)
我正在运行这样的事情,
image_find.Setters.SetValue(Image.SourceProperty, "display/tool.png");
或类似的东西,
style = App.Current.Resources["image_find1"] as Style;
style.Setters.SetValue(Image.SourceProperty, "display/tool.png");`
我正在获取NullReferenceException
并且应用程序中断...
答案 0 :(得分:2)
这实际取决于Style
所在的位置,您需要使用x:Key
来查找样式而不是x:Name
如果样式位于您的应用程序资源(App.xaml)中,则应该可以使用
var style = App.Current.Resources["ImageFind1"] as Style;
如果它在Window/UserControl
的上下文中,您将使用FindResource
var style = FindResource("ImageFind1") as Style;