私は listBox を持っています。コレクションから入力します。コレクションの各アイテムには、静的な名前と画像、および動的なコンテンツ (テキスト、写真、写真など) という情報があります。コレクションの各アイテムのリストボックスのアイテムの高さを変更したい。テキストのみの場合、高さはコンテンツに依存します - リストボックスの項目には静的 (名前のテキストブロック、画像の画像) とテキストを含むテキストブロックが必要であり、テキストブロックの高さはテキストに従って変更する必要があります (2-3 文字列の場合、高さは最小、テキストが 15 ~ 20 個の文字列に収まる場合 - テキストブロックの高さは文字列に応じて変更する必要があります)、コレクションのアイテムにテキストと画像が含まれる場合 - 静的 (名前用のテキストブロック、画像用の画像)、テキスト用のテキストブロック、および画像が必要です画像用。リストボックスのアイテムの高さは、テキストブロックのサイズと画像のサイズに依存する必要があります。
現時点では、アイテムの高さが静的なリストボックスがあり、高さを動的にしたいと考えています。
これは私のリストボックスのアイテムの1つです
<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>
UPD:試した
<local:NewsTemplateSelector.Photo>
<DataTemplate>
<Border
BorderBrush="Red"
BorderThickness="2"
Width="auto"
Height="auto"
Margin="10">
<Canvas Width="auto">
<Image
Source="{Binding SourceImage}"
Height="auto"
Width="auto"
HorizontalAlignment="Stretch" />
<TextBlock
HorizontalAlignment="Stretch"
Text="{Binding SourceName}"
Foreground="Black"
FontSize="25"
TextWrapping="Wrap"
Height="auto"
Width="auto"
MaxHeight="300"
MaxWidth="460" />
<TextBlock
HorizontalAlignment="Stretch"
Text="{Binding Texts}"
Foreground="Black"
FontSize="25"
TextWrapping="Wrap"
Height="auto"
Width="auto"
MinHeight="150"
MaxHeight="300"
MaxWidth="460" />
<Image
HorizontalAlignment="Stretch"
Source="{Binding Photo[0].Big}"
Height="auto"
MinHeight="150"
MaxHeight="300"
MaxWidth="460"
Width="auto"/>
</Canvas>
</Border>
</DataTemplate>
</local:NewsTemplateSelector.Photo>`
ただし、写真が互いに重ねられ、SourseImage という名前の画像も画面の上部に重ねられます