Can't find “Resources” file in wpf

2019-07-04 02:14发布

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?

2条回答
我只想做你的唯一
2楼-- · 2019-07-04 02:48

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

查看更多
三岁会撩人
3楼-- · 2019-07-04 02:53

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:

查看更多
登录 后发表回答