代码之家  ›  专栏  ›  技术社区  ›  synergetic

Silverlight XAML中的控件范围

  •  2
  • synergetic  · 技术社区  · 16 年前

    我在名为MyView的UserControl中定义了一个textbox,其中x:Name=“txtMyTextBox”。我注意到我可以做到以下几点:

    MyView myView = new MyView();
    myView.txtMyTextBox.Text = "something";
    

    1 回复  |  直到 16 年前
        1
  •  2
  •   Josh    16 年前

    silverlightxaml设计器为命名元素创建字段,以便您可以从后面的代码访问它们。如果您进入代码隐藏并选择 InitializeComponent 从顶部的“方法选择”下拉列表中。它保存在一个局部文件中。在过去,设计器生成的字段被定义为私有字段,但由于某些原因,我无法理解XAML设计器的当前裁剪(VS2010,Blend) creates it as internal .

    可以更改通过使用 x:FieldModifier 但是你可能不需要担心。如果需要,应该从用户控件中公开一个公共属性,该属性将访问权包装起来。