2011-03-28 53 views
0

這是我的XAML如何在列表選擇器Silverlight工具包中包裝文本?

<toolkit:ListPicker.FullModeItemTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal" Margin="16 21 0 20"> 
          <Rectangle Width="43" Height="43"/> 
          <TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}" TextWrapping="Wrap"/> 
         </StackPanel> 
        </DataTemplate> 
       </toolkit:ListPicker.FullModeItemTemplate> 

即使我加入TextWrapping =「包裝」 我的TextBlock不換行 我缺少的東西?

+1

設置文本框的寬度沒有幫助?嘗試將寬度設置爲300 – Polhovskiy 2011-03-28 19:40:23

回答

2

嘗試用Grid更換StackPanel(我沒有編譯器方便,從內存打字,所以可能有一些拼寫錯誤):

<toolkit:ListPicker.FullModeItemTemplate> 
    <DataTemplate> 
    <Grid Margin="16 21 0 20"> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <Rectangle Width="43" Height="43" Grid.Column="0" /> 
     <TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0" 
       FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}" 
       TextWrapping="Wrap" Grid.Column="1" /> 
    </Grid> 
    </DataTemplate> 
</toolkit:ListPicker.FullModeItemTemplate> 

此外,而不是硬編碼的東西像FontSizeMargin,您可能需要使用預定義的theme resources。傑夫威爾科克斯有一個blog post與許多這樣的UI設計最佳實踐。

+0

是的,我在幾天前閱讀了該博客文章。我會嘗試這一點,並會看到結果 – nemke 2011-03-28 21:25:48

1

只需從stackpanel中刪除Orientation="Horizontal"即可。