是否可以防止带有x:Name的XAML元素在定义它的类之外可访问?

时间:2011-08-04 16:02:09

标签: c# .net wpf xaml scope

假设我有一个带标签的控件,我希望能够从代码隐藏引用该标签。我可以通过给标签x:Name

来完成此任务
<UserControl x:Class=...>
    <Label x:Name="someLabel">Foo</Label>
    ....
</UserControl>

不幸的是,现在我可以在另一个类中执行此操作:

`someUserControl.someLabel.Content = ...`

有没有办法限制Label对定义它的类的访问?即,我仍然可以在UserControl的代码隐藏中引用它,但不管其他地方。

1 个答案:

答案 0 :(得分:5)

默认情况下,它们是内部的,文档说您可以使用x:FieldModifier属性将其公开。无论文档说什么,您都可以为C#执行x:FieldModifier="private"以使该字段保密。