2013-10-10 5 views
0

Это сработало, когда я создал динамический список ... но теперь, когда я все строю с помощью WPF, это не работает, и я понятия не имею почему .. это кажется правильным для меня, и я чувствую, что, может быть, я что-то упустил?Невозможно получить доступ к детям моих StackPanels внутри списка

ошибка, я получаю "Ссылка на объект не указывает на экземпляр объекта"

МОФ код:

    <ListBox x:Name="ListBoxT10"> 
         <ListBoxItem> 
          <StackPanel Orientation="Horizontal">          
           <TextBox FontSize="14" Text="" Width="120"/> 
           <TextBox FontSize="14" Text="" Width="40" MaxLength="3"/> 
           <TextBox FontSize="14" Text="" Width="413"/> 
          </StackPanel> 
         </ListBoxItem> 
         ...a bunch of the same listboxitems... 

C# код:

  int a = 0; 
      foreach (var item in ListBoxT10.Items) 
      { 
       StackPanel tempStackPanel = item as StackPanel; 

       Console.WriteLine(tempStackPanel.Children.Count); //this even errors.. i guess it's not finding the children 

       string pName = (tempStackPanel.Children[0] as TextBox).Text; //error 
       string tri = (tempStackPanel.Children[1] as TextBox).Text; //error 
       string stats = (tempStackPanel.Children[2] as TextBox).Text; //error 

EDIT: я «Я понимаю, что это потому, что элемент в ListBoxT10.Измеры на самом деле являются« ListBoxItem ».., но теперь я не могу получить детей из listboxitems ... ugh = [

ответ

0
   ListBoxItem lbi = (ListBoxItem)(ListBoxT10.ItemContainerGenerator.ContainerFromIndex(a)); 
       StackPanel sp = lbi.Content as StackPanel; 

       string pName = (sp.Children[1] as TextBox).Text; 
       string tri = (sp.Children[2] as TextBox).Text; 
       string stats = (sp.Children[3] as TextBox).Text; 

Я забыл про listboxitem ......... не думал, что регистрируется как объект тоже

Смежные вопросы