2010-12-13 21 views
0

J'ai une zone de texte où vous pouvez entrer un entier (ce qui correspondra à la taille de UniformGrid). Lors d'un clic sur un bouton, un UniformGrid est généré avec chaque grille contenant un bloc de texte, une zone de texte et un bouton, généré sous ElementName différent. Je suis passé par tant de tutoriel et tout simplement ajouter quelque chose aux enfants. Et je ne peux pas sembler définir la logique de liaison élaborée - qui se lient à quoi, et qui est contrôlé par l'objet. Je suis passé par wpftutorial et cela me rend confus. Appréciez si quelqu'un peut expliquer la logique en termes simples.C# WPF Dynamic UniformGrid

Répondre

1

UniformGrid ne peut pas vraiment être utilisé comme ItemsHost pour un ItemsControl, principalement parce que le DataTemplate ne peut prendre un seul enfant, qui interdit son utilisation dans ce contexte.

est ici une approche alternative qui pourrait vous aider à réaliser ce que vous voulez (je pense)

<ListView ItemsSource="{Binding MyData}"> 
<ListView.View> 
    <GridView> 
    <GridView.ColumnHeaderContainerStyle> 
     <Style TargetType="GridViewColumnHeader"> 
     <Setter Property="Visibility" Value="Collapsed" /> 
     </Style> 
    </GridView.ColumnHeaderContainerStyle> 
    <GridView.Columns> 
     <GridViewColumn> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
      <TextBlock Text="{Binding SomeLabelText}" /> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
     </GridViewColumn> 
     <GridViewColumn> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
      <TextBox Text="{Binding SomeInputText}" /> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
     </GridViewColumn> 
     <GridViewColumn> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
      <Button Content="{Binding SomeButtonLabel}" /> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
     </GridViewColumn> 
    </GridView.Columns> 
    </GridView> 
</ListView.View>