Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Provide value on 'System.Windows.StaticResourceExtension

Tags:

c#

wpf

xaml

Inside a XAML Page I'm trying to use an IValueConverter, it's throwing an error.

  • The IValueConverter is in another assembly, I have added a reference
  • There are no design-time errors
  • I have assigned the StaticResource with a ResourceKey

At the top of my page I have this:

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>

Then I try to use it later on like this:

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

Can anyone see what the problem is?

like image 949
Drahcir Avatar asked Dec 04 '22 13:12

Drahcir


1 Answers

Make sure that the resources are defined before the usage (in Xaml parsing order). The easiest way is to place it into App.xaml

See also here for a similar issue: http://www.paulkiddie.com/2011/10/the-importance-of-the-position-of-window-resources-element-in-wpf-xaml-markup/

like image 131
Sebastian Avatar answered Jan 05 '23 16:01

Sebastian