Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight主页对象_Silverlight - Fatal编程技术网

Silverlight主页对象

Silverlight主页对象,silverlight,Silverlight,我正在测试Silverlight应用程序。web上的一个教程使用MainPage对象,其中MainPage是主Silverlight类。如: 主页mp=新主页(); 这一切都很好,但MainPage XAML有一些控件,我可以在MainPage类代码中访问,例如,我可以使用 Text; 访问 问题是在创建MainPage类的对象后,我无法访问XAML控件-我无法在MainPage对象属性列表中看到它们。这是故意的还是我遗漏了什么?标识符txtPhotoUrl指的是一个字段,该字段具有内部可访问性

我正在测试Silverlight应用程序。web上的一个教程使用MainPage对象,其中MainPage是主Silverlight类。如: 主页mp=新主页(); 这一切都很好,但MainPage XAML有一些控件,我可以在MainPage类代码中访问,例如,我可以使用 Text; 访问
问题是在创建MainPage类的对象后,我无法访问XAML控件-我无法在MainPage对象属性列表中看到它们。这是故意的还是我遗漏了什么?

标识符
txtPhotoUrl
指的是一个
字段
,该字段具有
内部
可访问性。因此,要访问它,您的代码需要位于同一个项目中。您可以在目标probject中使用
InternalsVisibleTo
属性,以便外部代码可以访问标记为内部的成员,但您的外部代码需要使用强名称。

默认情况下,主页控件具有internal访问修饰符。因此,您可以从同一程序集访问主页控件。比如说,

MainPage mp = new MainPage();
string text = mp.txtPhotoUrl.Text;
对于某些控件,可以使用XAML中的x:FieldModifier=“[private/internal/public]”属性更改访问修饰符。比如说,

<!-- Accessible only from Code Behind-->
<TextBlock x:Name="txtPhotoUrl" x:FieldModifier="private" />

<!-- Accessible from other assemblies-->
<TextBlock x:Name="txtPhotoUrl" x:FieldModifier="public" />


“使用Silverlight 4的专业商业应用程序”:@AnthonyWJones是的,在我在XAML中添加了x:FieldModifier=“public”之后,这一行在我的C#code:mp.txtPhotoUrl.Text中;不抛出任何异常