2017-05-12 147 views
0

这是我简单的(新手)理解:
我们对的ressource代码生成一个选择:内部公共。默认情况下,内部为。我知道这些资源是由内部或公共访问者根据该选择创建的。 因此,如果访问者是公开的,我可以使用类似于: Text="{x:Static resx:Resources.SomeLabelID}" ...在我的XAML中。
我的问题是要么/两:
C#资源文件 - 如何从XAML访问内部资源?

  • 是产生内部访问有什么用时,上面显示的XAML不工作(更准确地说是“作品”的设计模式,但在运行时不这样就产生混淆新手)? 注意:在SO中有很多很多答案,只是简单地说,在不解释原因的情况下将访问者更改为“公共”,我认为这很好理解,尤其是因为默认情况似乎是内部原因。

- 或 -

  • 有另一种方式来访问资源字符串(从XAML)当与内部访问器生成的代码?

感谢您在XAML定义

+0

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

回答

1

一切使用internal访问修饰符。这是由WPF框架的设计,只是这样你将无法访问不同程序集中的本地定义的控件。

通常,如果您打算将strings用于“静态”控件(即Label),那么您可以简单地通过更改访问修改器来改变主意。

+0

“*一般*如果要为”静态“控件(即标签)使用字符串,则可以简单地继续并将访问修饰符[从* private *改为* public *]。 ...这正是我正在寻找的答案。 –