Silverlight MainPage对象

时间:2011-08-23 19:13:17

标签: silverlight

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

2 个答案:

答案 0 :(得分:2)

默认情况下,MainPage控件具有内部访问修饰符。因此,您可以从同一个程序集访问MainPage控件。例如,

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" />

答案 1 :(得分:1)

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