メインページに単純なListBox
を作成しましたが、追加されたアイテムのデフォルト間隔が大きすぎます(アイテムの高さが2倍になるように)。私はDataTemplate
を変更しようとしましたが、0マージン/パディングをItemContainerStyle
に適用すると成功しませんでした。ListBoxItemが通常のサイズの2倍
ListBoxItem
のコンテンツのサイズを変更する際に、どのプロパティが高さに影響しますか?フォントファミリを変更しても効果はありません。
メインページに単純なListBox
を作成しましたが、追加されたアイテムのデフォルト間隔が大きすぎます(アイテムの高さが2倍になるように)。私はDataTemplate
を変更しようとしましたが、0マージン/パディングをItemContainerStyle
に適用すると成功しませんでした。ListBoxItemが通常のサイズの2倍
ListBoxItem
のコンテンツのサイズを変更する際に、どのプロパティが高さに影響しますか?フォントファミリを変更しても効果はありません。
あなたが探しているのは、アイテムの行が終了して次の行が始まる場所の間のスペースだと思います。ウィザード
コード生成:
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
は、行の高さは、列間の17ピクセルギャップが78であることを言っています。
何が起こっているのかを調べる最も簡単な方法は、要素の後ろに色付きの境界線を置くことです。私は下でそれをしました。その後、高さ、または余白をChangngどの要素に属しているものを明確にスペース明白です:そこの子供たちは、各項目の全体の高さを決定するよう
<!--ContentPanel contains ListBox and ListBox ItemTemplate. Place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,,0">
<ListBox x:Name="MainListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="MainListBox_SelectionChanged" Background="Red">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<Border Background="Yellow">
<TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
</Border>
<Border Background="Blue">
<TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</Border>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
よろしくお願いいたします。これは私のところでは普通の愚かさでした。私の 'ListBox'エントリはプレーンな文字列であり、なんらかの理由でそれぞれの行に新しい行が追加されていました。これはダブルラインの高さを引き起こしていました。しかし、あなたの努力に感謝します。 – wpfwannabe
あなたがListBox.ItemTemplate' 'のために使用しているコードを投稿することができます。 – peterept
これは、単純な 'ListBox'でウィザードで生成されたコードといくつかの項目が問題を再現するのとは無関係です。カスタムの 'DataTemplate'で問題を解決しようとしましたが、問題がなければまだ表示されています。ありがとう! – wpfwannabe
@wpfwannabeデフォルトで作成されていても、あなたが見ているものと、代わりにそのようにしたいものの例を示すことができます。 –