2011-04-17 54 views
1

任何人都可以告诉我这两种方法之间的区别是什么使您的GridViewColumn根据dbfield值显示为图像。WPF GridViewColumn值转换器错误

首先

<Image Source="{Binding Path=ActionId, Mode=OneWay, Converter={StaticResource local:ActionIdConverter}}" /> 

<Image> 
     <Image.Source> 
       <Binding Path="ActionId" Mode="OneWay"> 
         <Binding.Converter> 
           <local:ActionIdConverter /> 
         </Binding.Converter> 
       </Binding> 
     </Image.Source> 
</Image> 

二是工作正常,但首先是给

上 'System.Windows.Markup.StaticResourceHolder' 提供价值抛出例外。 内部异常消息是找不到名为 'local:ActionIdConverter'的资源。资源 名称区分大小写。

但同一转换工作在二

任何想法,我在我的第一个方法很想念?

感谢和问候, 阿德南

+0

看起来您之前从未使用过资源,您可能需要阅读以下资源:[Resources Overview](http://msdn.microsoft.com/en-us/library/ms750613.aspx) – 2011-04-17 09:41:12

回答

0

你的第二个方法带来的ActionIdConverter一个新实例,而首先是在资源寻找它。

要解决的第一个代码段,该转换器添加到父元素Resources部分,然后用钥匙引用它,你给它如:

<Window.Resources> 
    <local:ActionIdConverter x:Key="ActionIdConverter" /> 
</Window.Resources> 
<Image Source="{Binding Path=ActionId, Mode=OneWay, Converter={StaticResource ActionIdConverter}}" /> 

这样,您就可以重新使用在同一个转换器实例多个地方而不是每次都创建一个新的地方。

+0

同样的错误 – 2011-04-19 12:33:00