2014-04-09 13 views
13

Sto provando a inserire due Griglie in un DataTemplate.Errore XAML: "La proprietà 'VisualTree' è impostata più di una volta"

Ho ricevuto il seguente errore con il mio codice mostrato di seguito.

Error: "The property 'VisualTree' is set more than once"

<DataTemplate x:Key="PareoItemTemplate"> 
    <Grid x:Name="gridColorEjercicio" Height="100" Width="350" Background="#FFF0F0F0" Margin="-11,0,0,0"> 
     <StackPanel Margin="0" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"> 
      <StackPanel Margin="0,10,15,0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> 
       <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="{Binding letter}" FontSize="24" FontFamily="Resources/Fonts/Programa Tutorias Bold.ttf#Programa Tutorias" Foreground="Black" VerticalAlignment="Center"/> 
       <TextBlock TextWrapping="Wrap" Text="{Binding option}" FontSize="24" FontFamily="Resources/Fonts/Programa Tutorias Bold.ttf#Programa Tutorias" Width="253" Foreground="Black" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
      </StackPanel> 
      <Grid VerticalAlignment="Center" Margin="5,10,5,0" HorizontalAlignment="Center"> 
       <Image Source="{Binding imageURI}" /> 
      </Grid> 
     </StackPanel> 
    </Grid> 
    <Grid x:Name="gridPareoColorEjercicio" Height="100" Width="350" Background="#FFF0F0F0" Margin="-11,0,0,0"> 
     <StackPanel Margin="0" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"> 
      <StackPanel Margin="0,10,15,0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> 
       <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="{Binding letter}" FontSize="24" FontFamily="Resources/Fonts/Programa Tutorias Bold.ttf#Programa Tutorias" Foreground="Black" VerticalAlignment="Center"/> 
       <TextBlock TextWrapping="Wrap" Text="{Binding option}" FontSize="24" FontFamily="Resources/Fonts/Programa Tutorias Bold.ttf#Programa Tutorias" Width="253" Foreground="Black" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
      </StackPanel> 
      <Grid VerticalAlignment="Center" Margin="5,10,5,0" HorizontalAlignment="Center"> 
       <Image Source="{Binding imageURI}" /> 
      </Grid> 
     </StackPanel> 
    </Grid> 
</DataTemplate> 

risposta

21

un modello di dati può avere un solo albero visivo, ma si stanno definendo due griglie. Se vuoi che le due griglie appaiano l'una accanto all'altra o una sotto l'altra, inseriscile in un StackPanel e imposta la proprietà Orientation di conseguenza.

<DataTemplate> 
    <StackPanel Orientation="Vertical"> 
     <Grid>[...]</Grid> 
     <Grid>[...]</Grid> 
    </StackPanel> 
</DataTemplate> 
+0

Eccellente! grazie! – John

Problemi correlati