2014-04-09 66 views
13

我試圖在DataTemplate中放置兩個網格。XAML錯誤:「屬性」VisualTree「設置了多次」

我收到下面的錯誤,下面顯示了我的代碼。

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> 

回答

21

數據模板只能有一個可視化樹,但要定義兩個網格。如果您希望兩個網格出現在彼此的旁邊或下面,請將它們包裝在StackPanel中,並相應地設置屬性Orientation

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

非常好!謝謝! – John