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