C# 资源文件 - 如何从 XAML 访问内部资源?
C# resource file - how to access internal resources from XAML?
这是我简单(新手)的理解:
我们可以选择资源代码生成器:internal 或 public。默认值似乎是 internal。我知道资源是使用内部或 public 访问器创建的,具体取决于该选择。
因此,如果访问器是 public 我可以使用类似的东西:
Text="{x:Static resx:Resources.SomeLabelID}"
... 在我的 XAML 中。
我的问题是either/both:
- 当上面显示的 XAML 不起作用时,生成的 internal 访问器有什么用(更准确地说,它在设计模式下 'works' 但在 运行 时间从而给新手造成混乱)?
注意:SO 中有 很多 的答案只是说将访问器更改为 'public' 而没有解释原因,我认为这很容易理解,尤其是因为默认值似乎是内部的。
-或-
- 当使用 internal 访问器生成代码时,是否有其他方法访问资源字符串(来自 XAML)?
谢谢
XAML
中定义的所有内容都使用 internal
访问修饰符。这是 WPF
框架的设计,所以您将无法访问不同程序集中本地定义的控件。
通常,如果您打算将 strings
用于 "static" 控件(即 Label
),那么您只需改变访问修饰符即可。
这是我简单(新手)的理解:
我们可以选择资源代码生成器:internal 或 public。默认值似乎是 internal。我知道资源是使用内部或 public 访问器创建的,具体取决于该选择。
因此,如果访问器是 public 我可以使用类似的东西:
Text="{x:Static resx:Resources.SomeLabelID}"
... 在我的 XAML 中。
我的问题是either/both:
- 当上面显示的 XAML 不起作用时,生成的 internal 访问器有什么用(更准确地说,它在设计模式下 'works' 但在 运行 时间从而给新手造成混乱)? 注意:SO 中有 很多 的答案只是说将访问器更改为 'public' 而没有解释原因,我认为这很容易理解,尤其是因为默认值似乎是内部的。
-或-
- 当使用 internal 访问器生成代码时,是否有其他方法访问资源字符串(来自 XAML)?
谢谢
XAML
中定义的所有内容都使用 internal
访问修饰符。这是 WPF
框架的设计,所以您将无法访问不同程序集中本地定义的控件。
通常,如果您打算将 strings
用于 "static" 控件(即 Label
),那么您只需改变访问修饰符即可。