2012-12-23 31 views
1

是否有可能在網格上顯示兩個TextBlock?在dataGrid上顯示兩個textBlock

我試過了,但我只看到了我的第一個TextBlock。

這裏是我的XAML代碼:

   <ListBox x:Name="ListBoxTiers" HorizontalAlignment="Left" VerticalAlignment="Top"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Border Background="#FFDEDEDE" CornerRadius="10" Margin="10"> 
          <StackPanel Orientation="Horizontal"> 
           <Grid Height="89" Width="975"> 
            <TextBlock x:Name="TxtBox_CodeTiers" TextWrapping="Wrap" Text="{Binding m_strCode}" Margin="12,23,479,30" /> 
            <TextBlock x:Name="TxtBox_NomTiers" Margin="501,23,14,24" TextWrapping="Wrap" Text="{Binding m_strNom}"/> 
           </Grid>             
          </StackPanel> 
         </Border> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

感謝很多:)

回答

1

您的文本兩者都在同一位置繪製。 您可以添加格列/原糖或完全地消除網格,留在StackPanel中

你應該走了過來Panels Overview

+0

我試圖用Blend做代碼。爲了理解,你可以給我代碼嗎?謝謝:) –

+0

@WalterFabioSimoni我已經添加了msdn文章的鏈接,它包含示例 – makc

+0

非常感謝,所以,如果我想在列表框的同一行顯示兩個或三個文本框。你有什麼建議嗎?網格?兩個網格?我有點迷路,即使有MSDN;( –

2

電網是支持定位的最佳UI容器。你可以用下面的方式修改你的代碼。

<ListBox x:Name="ListBoxTiers" HorizontalAlignment="Left" VerticalAlignment="Top"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Border Background="#FFDEDEDE" CornerRadius="10" Margin="10"> 
          <Grid Height="89" Width="975"> 
         <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
           <TextBlock x:Name="TxtBox_CodeTiers" Grid.Column=0 TextWrapping="Wrap" Text="{Binding m_strCode}" /> 
           <TextBlock x:Name="TxtBox_NomTiers" Grid.Column=1 TextWrapping="Wrap" Text="{Binding m_strNom}"/> 
          </Grid> 
        </Border> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

您應該根據需要調整列的列寬。

+0

你試過這個代碼..? – Swapnika