在'System.Windows.StaticResourceExtension上提供值

时间:2012-12-13 14:24:20

标签: c# wpf xaml

XAML页面内我试图使用IValueConverter,这会引发错误。

  • IValueConverter在另一个程序集中,我添加了一个引用
  • 没有设计时错误
  • 我已经为StaticResource分配了一个ResourceKey

在我的页面顶部,我有这个:

xmlns:converters="clr-namespace:Converters;assembly=Converters"

<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Styles/DialogStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <converters:NoWhiteSpaceConverter x:Key="NoWhiteSpaceConverter" />
    </ResourceDictionary>
</Page.Resources>

然后我尝试稍后使用它:

<TextBox Text="{Binding SomeText, Converter={StaticResource NoWhiteSpaceConverter}}" />

任何人都可以看到问题所在吗?

1 个答案:

答案 0 :(得分:16)

确保在使用之前定义资源(在Xaml解析顺序中)。最简单的方法是将其放入App.xaml

另请参阅此处了解类似问题:http://www.paulkiddie.com/2011/10/the-importance-of-the-position-of-window-resources-element-in-wpf-xaml-markup/