L'accès contrôles XAML à partir de C# code-behind

J'ai deux fichiers dans mon VS projet: Custom.xaml et Custom.cs

Dans mon XAML fichier, j'ai les zones de texte suivantes:

<TextBox x:Name="TextBox1" Text="{Binding Value, Mode=TwoWay}" Foreground="Black" Background="Green" SelectionChanged="TextBox1_SelectionChanged" />

<TextBox x:Name="TextBox2" Text="{Binding Value, Mode=TwoWay}" Foreground="Black" Background="Green" SelectionChanged="TextBox2_SelectionChanged" />

Dans mon .cs, j'ai la méthode suivante:

 void TextBox1_SelectionChanged(object sender, RoutedEventArgs e)
 {
     TextBox t = e.Source as TextBox
 }

Je peux réussir à frapper le gestionnaire d'événement ci-dessus. Ensuite, je peux récupérer TextBox1 et ses propriétés en utilisant e.Source, mais je voudrais accès TextBox2 et ses propriétés.

Au passage, le .cs fichier est juste un C# classe que je suis référencement, pas un xaml.cs. En outre, je comprends que j'ai pu mettre en œuvre ce par le biais d'un UserControl, mais ne peut le faire que dans ce scénario, pour des raisons qui sont hors de la portée de ce post.

Merci de m'indiquer comment obtenir/définir les propriétés de l' TextBox2.

Grâce.

EDIT: Aucune autre entrée sur cela? Comme solution de contournement, j'ai ajouté un gestionnaire d'événement appelé TextBox2_Loaded, puis ensemble e.Source à une variable d'instance. Puis, dans TextBox1_SelectionChanged, je peux accéder à la variable d'instance. Voudrais vraiment juste cibler le contrôle directement (ex. TextBox2.IsEnabled). Je dois manquer une déclaration ou d'un héritage, quelque part. Ne pouvez même pas trouver le contrôle à l'aide FindName.

  • sont u à l'aide de la textbox2 comme un élément d'un contrôle répétitif (un gridview, listview, etc...)?
  • Non, je ne suis pas à l'aide d'un gridview ou listview
InformationsquelleAutor Josh | 2012-03-03