我有一個列表框,我從一些集合填充。每個集合項目都有一些信息:靜態名稱和圖片以及動態內容(文本,照片或照片等)。我想爲每個集合項目更改列表框的項目高度。高度取決於內容,如果它只有文本 - 列表框的項目必須具有靜態(名稱爲文本塊,圖片爲圖片),文本塊爲文本塊,文本塊的高度必須根據文本更改(如果它是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.如果我使用與區顏色「紅」邊界列表框中的項目下 - 我看到每個項目一個紅色的線,而不是一個項目的內容
如果我明白了,問題出在stackpanel中。但是,如何在列表框的項目中添加多個內容? – eg01st
嘗試畫布,但仍然有問題( – eg01st