在'System.Windows.StaticResourceExtension上提供值

Dra*_*cir 4 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>
Run Code Online (Sandbox Code Playgroud)

然后我尝试稍后使用它:

<TextBox Text="{Binding SomeText, Converter={StaticResource NoWhiteSpaceConverter}}" />
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到问题是什么?

Seb*_*ian 16

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

有关类似问题,请参见此处:http://www.paulkiddie.com/2011/10/the-importance-of-the-position-of-window-resources-element-in-wpf-xaml-markup/

  • 我在 App.xaml 中定义了一个转换器并为其分配了一个键。当我从应用程序中的“UserControl”引用转换器时出现异常。 (2认同)