2011-08-04 33 views
1

說我有一個標籤的控制,我希望能夠從代碼隱藏引用該標籤。我可以給標籤的x:Name做到這一點:是否可以防止具有x:Name的XAML元素在定義類的外部可訪問?

<UserControl x:Class=...> 
    <Label x:Name="someLabel">Foo</Label> 
    .... 
</UserControl> 

不幸的是,現在我可以在不同的類做到這一點:

`someUserControl.someLabel.Content = ...` 

有沒有什麼辦法來限制訪問Label到類在哪裏定義?也就是說,我仍然可以在UserControl的代碼隱藏中引用它,但在其他地方無法引用它。

回答

5

默認情況下它們是內部的,文檔說您可以使用x:FieldModifier屬性使其公開。無論文檔說什麼,您都可以爲C#執行x:FieldModifier="private"以使該字段保密。

+0

有點困惑的措辭。 (並不知道太多og FieldModifier)。你的意思是不能讓它變成私人的,還是可以讓它成爲公開或私人的,而不是默認的? –

+0

@Rune - 更新以澄清我的意思。 – CodeNaked

相關問題