2012-12-04 81 views
1

我有一個列表框,我從一些集合填充。每個集合項目都有一些信息:靜態名稱和圖片以及動態內容(文本,照片或照片等)。我想爲每個集合項目更改列表框的項目高度。高度取決於內容,如果它只有文本 - 列表框的項目必須具有靜態(名稱爲文本塊,圖片爲圖片),文本塊爲文本塊,文本塊的高度必須根據文本更改(如果它是2-3個字符串高度分鐘,如果文本適合15-20個字符串 - 文本塊的高度必須改變字符串),如果收集的項目包括文本和圖像 - 它必須具有靜態(名稱的文本塊,圖片的圖像),文本的文本塊和圖像圖像。列表框的項目高度必須取決於文本塊大小和圖像大小。動態高度的列表框項目(「自動」不起作用)

此時,我有一個帶有靜態項目高度的列表框,並且想要使高度動態化。

這裏是我的列表框的項目,其中有一個ptoto

<local:NewsTemplateSelector.Photo> 
    <DataTemplate> 
     <Border BorderBrush="Red" BorderThickness="2" Width="400" Height="auto" Margin="10"> 
      <StackPanel Orientation="Horizontal" Width="400" Height="auto"> 
       <Image Source="{Binding SourceImage}" Height="75" Width="75" Margin="0,-225,0,0" /> 
       <Canvas Width="400"> 
        <TextBlock Text="{Binding SourceName}" Foreground="Black" FontSize="25" TextWrapping="Wrap" Height="55" Width="326" d:LayoutOverrides="VerticalAlignment, Height" /> 
        <Image Source="{Binding Photo[0].Big}" Height="auto" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="326" Canvas.Top="69"/> 
       </Canvas> 
      </StackPanel> 
     </Border> 
    </DataTemplate> 
</local:NewsTemplateSelector.Photo> 

這裏的一個是文本模板

<local:NewsTemplateSelector.Texts> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal" Background="YellowGreen" Width="400" Height="300" > 
      <Image Source="{Binding SourceImage}" Height="75" Width="75" Margin="0,-225,0,0" /> 
      <Canvas Width="400"> 
       <TextBlock Text="{Binding SourceName}" FontSize="25" Foreground="Black" TextWrapping="Wrap" Width="326" Height="65" d:LayoutOverrides="VerticalAlignment, Height" /> 
       <TextBlock Text="{Binding Texts}" Foreground="Black" FontSize="25" TextWrapping="Wrap" Height="229" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="326" Canvas.Top="69" /> 
      </Canvas> 

     </StackPanel> 
    </DataTemplate> 
</local:NewsTemplateSelector.Texts> 

我試圖用汽車 - 但是項目具有高度0.如果我使用與區顏色「紅」邊界列表框中的項目下 - 我看到每個項目一個紅色的線,而不是一個項目的內容

+0

如果我明白了,問題出在stackpanel中。但是,如何在列表框的項目中添加多個內容? – eg01st

+0

嘗試畫布,但仍然有問題( – eg01st

回答

0

請參閱有關如何使用模板選擇這個教程。​​

+0

模板選擇器工作良好,我只是顯示其中一個模板,它有一張照片。如果我想使用temlate與文本,並且文本將很大,並且不填寫文本塊沒有滾動? – eg01st