问题
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?
回答1:
Change access modifier from internal to public, your binding will work.
回答2:
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:
来源:https://stackoverflow.com/questions/33611419/cant-find-resources-file-in-wpf