Zombik
Zombik

Reputation: 61

Can't find "Resources" file in wpf

I'm newbe in WPF. I need to add reference on the resources file resx and get strings from it.

<Window x:Class="SelectObjectsWindow.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:res="clr-namespace:SelectObjectsWindow.Properties"

    Title="{x:Static res:Resources.Res1}" Height="350" Width="525">
<Grid>
    ....
</Grid>

I got an error: The name "Resources" does not exist in the namespace "clr-namespace:SelectObjectsWindow.Properties". I was searching information about this and find couple of advises: Set "public" access modifier of resx file. Change Build Action property of resx on "Embedded Resource".

So, I did it, but nothing changed. I checked all namespaces. Seems to be ok. I don't know, what else I should try.

In .cs i can do this without error

  var res = Properties.Resources.Res1;

Do somebody know, what is wrong?

Upvotes: 5

Views: 5274

Answers (2)

AnjumSKhan
AnjumSKhan

Reputation: 9827

Change access modifier from internal to public, your binding will work.Resx file binding to xaml

Upvotes: 4

Ryan Searle
Ryan Searle

Reputation: 1627

Try adding an Assembly reference:

xmlns:res="clr-namespace:SelectObjectsWindow.Properties;assembly=[AssemblyName]"

Replace [AssemblyName] with the name of your assembly which can be found by right clicking your project and selecting Properties, go to the Application tab and see Assembly name:

Upvotes: 0

Related Questions