Buon pomeriggio Lista
nel progetto che sto portando avanti ho creato in una form, in ambiente di XAML, una Grid:
<Grid Name="grWFRow" Style="{StaticResource GridView}" Grid.Column="1" Grid.ColumnSpan="3" ShowGridLines="False" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<Label Style="{StaticResource LabelTestata}" Grid.Column="0" Content="Id"/>
<Label Style="{StaticResource LabelTestata}" Grid.Column="1" Content="S"/>
<Label Style="{StaticResource LabelTestata}" Grid.Column="2" Content="Descrizione"/>
<Label Style="{StaticResource LabelTestata}" Grid.Column="3" Content="Inserimento"/>
<Label Style="{StaticResource LabelTestata}" Grid.Column="4"/>
</Grid>
e ho inserito al suo interno dei controlli a Runtime in questa maniera:
TextBox textBox_F = new TextBox();
textBox_F.Name = "TBox_File_" + wfr.WFRID.ToString();
textBox_F.Style = (Style)this.FindResource("TextBoxRow");
GridPosition(textBox_F, 3);
che vengono inseriti nella colonna e nella riga della Grid con la funzione GridPosition:
private void GridPosition(object control, int column)
{
Grid.SetRow((UIElement)control, grWFRow.RowDefinitions.Count() - 1);
Grid.SetColumn((UIElement)control, column);
grWFRow.Children.Add((UIElement)control);
}
Il
Name assegnato é costruito in questa maniera
TBox_File_01 (esempio) dove lo 01 è un progressivo inserito in una variabile
In un punto della procedura deve fare riferimento a questi controlli e devo utilizzare una variabile per richiamarli e pensavo di poter utilizzare questo codice
((TextBox)this.FindName("TextBox_File_" + Indice)).Name = "Prova" (dove indice è una stringa con il numero progressivo della TextBox creata)
ma il risultato e un valore NULL e se provo (in debug) a fare riferimento al Control, nelle Espressioni di controllo scrivendo il nome in chiaro senza varibili, mi conferma che non ha nessun controllo con quel nome.
Vorrei capire se faccio un errore io nella dichiarazione del TextBox o che cosa sto sbagliando.
Aggiungo anche che io creo anche dei Bottom, con la stessa tecnica dei TextBox, ai quali ho collegato un evento Click che quando viene scatenato leggendo RoutedEventArgs il valore che trovo nel Name e quello che ho inserito io dinamicamene.
Sperando di essere stato utile e speranzoso in un vostro aiuto invio cordiali saluti
Perini Luca