【问题标题】:C# resource file - how to access internal resources from XAML?C# 资源文件 - 如何从 XAML 访问内部资源?
【发布时间】:2017-05-12 19:43:53
【问题描述】:

这是我的简单(新手)理解:
我们可以选择资源代码生成器:internalpublic。默认值似乎是internal。我了解资源是使用内部或公共访问器创建的,具体取决于该选择。 因此,如果访问器是公共的,我可以使用类似的东西: Text="{x:Static resx:Resources.SomeLabelID}" ...在我的 XAML 中。
我的问题是两者之一:

  • 当上面显示的 XAML 不起作用(更准确地说,它在设计模式下“起作用”但在运行时不起作用,从而给新手造成混乱)时,生成的 internal 访问器有什么用? 注意:在 SO 中有 许多 的答案只是说将访问器更改为“公共”而不解释原因,我认为这很容易理解,特别是因为默认值似乎是内部的.

-或-

  • 当使用 internal 访问器生成代码时,是否有其他方法可以访问资源字符串(来自 XAML)?

谢谢

【问题讨论】:

  • 资源文件不是 wpf 特定的 - 您可以在任何类型的应用程序中使用它们。它们在 WPF 尚不存在时可用。默认情况下它们是内部的,原因相同,默认情况下类是内部的,或者默认情况下方法和字段是私有的。

标签: c# wpf xaml resources internal


【解决方案1】:

XAML 中定义的所有内容都使用internal 访问修饰符。这是WPF 框架的设计,只是这样您就无法在不同的程序集中访问本地定义的控件。

通常,如果您打算将strings 用于“静态”控件(即Label),那么您只需更改访问修饰符即可。

【讨论】:

  • "一般如果您打算将字符串用于“静态”控件(即标签),那么您可以简单地继续并更改访问修饰符 [来自 private public]。” ...这正是我正在寻找的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
相关资源
最近更新 更多