2013-12-02 2 views
0

Я просто хочу, чтобы отобразить данные динамически, так что я использовал # код C,Отображение данных динамически в TextBlock

TextBlock[] Cp = new TextBlock[ContactPersons.Count]; 
       int i=0; 
       foreach(var item in ContactPersons) 
       { 
        Cp[i] = new TextBlock(); 
        Cp[i].Margin = new Thickness(0,y_coordinateStart ,0,0); 
        Cp[i].Foreground = new SolidColorBrush(Colors.Green); 
        Cp[i].Visibility = Visibility.Visible; 
        Cp[i].Height = 30; 
        Cp[i].Width = 300; 
        y_coordinateStart += 35; 
        Cp[i].Text = item.firsName; 
        i++; 
       } 

Но ничто не появляется в моей странице.

В чем может быть проблема ??

ответ

4

Вы должны добавить их к визуальному дереву как-то ... Например

В вашем XAML:

<Window x:Class="MyClass" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" 
     Width="525" 
     Height="350"> 
    <StackPanel x:Name="MainPanel" /> 
</Window> 

В коде:

  foreach(var item in ContactPersons) 
      { 
       TextBlock tb = new TextBlock(); 
       tb.Margin = new Thickness(0,y_coordinateStart ,0,0); 
       tb.Foreground = new SolidColorBrush(Colors.Green); 
       tb.Visibility = Visibility.Visible; 
       tb.Height = 30; 
       tb.Width = 300; 
       y_coordinateStart += 35; 
       tb.Text = item.firsName; 
       MainPanel.Children.Add(tb); 
      } 
Смежные вопросы