这是我的简单(新手)理解:
我们可以选择资源代码生成器:内部或公共(public)。默认值似乎是内部。我了解资源是使用内部或公共(public)访问器创建的,具体取决于该选择。
因此,如果访问器是公共(public)的,我可以使用类似的东西:
Text="{x:Static resx:Resources.SomeLabelID}"
...在我的 XAML 中。
我的问题是一个/两个:
- 当上面显示的 XAML 不起作用时(更准确地说,它在设计模式下“起作用”,但在运行时不起作用,从而给新手带来困惑),生成的内部访问器有什么用? 注意:SO中有许多答案只是简单地说将访问器更改为“公共(public)”而不解释原因,我认为这很好理解,特别是因为默认值似乎是内部的.
-或-
- 当使用内部访问器生成代码时,是否有其他方法可以访问资源字符串(从 XAML)?
谢谢
最佳答案
XAML
中定义的所有内容都使用 internal
访问修饰符。这是 WPF
框架设计的,因此您将无法访问不同程序集中本地定义的控件。
通常,如果您打算将字符串
用于“静态”控件(即标签
),那么您只需直接更改访问修饰符即可。
关于C# 资源文件 - 如何从 XAML 访问内部资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43945382/