C# App.xaml中的本地
我正在查看Windows应用商店应用程序示例,并试图了解一些东西是如何工作的 我在App.xaml中有此代码C# App.xaml中的本地,c#,xaml,windows-store-apps,C#,Xaml,Windows Store Apps,我正在查看Windows应用商店应用程序示例,并试图了解一些东西是如何工作的 我在App.xaml中有此代码 <local:Apoel x:Key="apoel"/> 我试着在网上搜索,但我不知道该用什么术语来完美地解释这是如何工作的 这两行代码到底在做什么 如果类Apoel的构造函数需要参数,它将如何工作 对象何时实例化?它只是一个赋值。在xaml中,正在定义名为Apoel的Apoel对象,并且 Apoel apoellin= (Apoel)App.Current.Resourc
<local:Apoel x:Key="apoel"/>
我试着在网上搜索,但我不知道该用什么术语来完美地解释这是如何工作的
这两行代码到底在做什么
如果类Apoel的构造函数需要参数,它将如何工作
对象何时实例化?它只是一个赋值。在xaml中,正在定义名为
Apoel
的Apoel
对象,并且
Apoel apoellin= (Apoel)App.Current.Resources["apoel"];
这只是一个参考任务。没有创建新对象
关于参数化构造函数,请在此处检查答案
因此,在我的App.Xaml代码中,对象被创建并作为“全局”资源,供其他页面使用另一行代码?基本上是的
App.Xaml是应用程序的定义。它应该包含一个
部分,这是一个全局可访问对象的字典。它在某种程度上类似于使用resx
文件。我不知道resx文件:D,但让我告诉你我的理解。这就像创建一个全局变量,可以使用Apoel-apoellin=(Apoel)App.Current.Resources[“Apoel”]从代码的每个可能位置访问它;它只是告诉我的代码从全局“池”中获取该变量,并将其转换为Apoel类型。为什么需要铸造呢?这是正确的。您需要强制转换它,因为Resources[Key]
返回总体object
type,它是所有其他类的基类。字典之所以这样做,是因为它在设计时不知道它所持有的对象是什么类型的——它们都是在运行时解析的。
Apoel apoellin= (Apoel)App.Current.Resources["apoel"];