2011-08-23 34 views
1

我正在玩弄測試Silverlight應用程序。 Web上的一個教程使用MainPage對象,其中MainPage是主要的Silverlight類。例如: MainPage mp = new MainPage(); 這一切都很好,但MainPage XAML有一些控件,我可以在MainPage類代碼中訪問,例如,我可以使用 txtPhotoUrl.Text; 訪問 問題是在創建類MainPage的對象後,我無法訪問XAML控件 - 我無法在MainPage對象屬性列表中看到它們。這是由設計還是我錯過了什麼?Silverlight MainPage對象

回答

2

默認情況下控制的MainPage有內部訪問modifier.So,您可以從同一裝配訪問控制的MainPage 。 FieldModifier = 「[私營/內部/公共]」 在XAML屬性爲一定的控制:例如,

MainPage mp = new MainPage(); 
string text = mp.txtPhotoUrl.Text; 

可以使用X更改訪問修飾符。例如,

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

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

是的,現在它工作。謝謝! – Val

+0

@Val:這在Silverlight中起作用? – AnthonyWJones

+0

「Silverlight 4專業商務應用程序」:http://books.google.ru/books?id = 88pqq2H7kVwC&pg = PA46&lpg = PA46&dq = silverlight + x:FieldModifier&source = bl&ots = pldMTYGz4V&sig = EhWF-c-Xn9RHaVULcEyvp_3B0cM&hl = ru&ei = 6PJUTpmGH8j34QSBsemqBw&sa = X&oi = book_result&ct = result&resnum = 8&ved = 0CGgQ6AEwBw#v = onepage&q = silverlight%20x%3AFieldModifier&f = false –

1

標識符txtPhotoUrl指具有internal可訪問性的field。因此,要訪問它,你的代碼需要在同一個項目中。您可以在目標probject中使用InternalsVisibleTo屬性,以便外部代碼可以訪問標記爲內部的成員,但您的外部代碼需要強命名。

+0

這也適用。謝謝! – Val