多くのアイテム (> 10) を持つ私のコンボボックスでは、次のいずれかを行う必要があります: (a) ドロップダウンが発生したときにすべてのアイテムを表示するか、または: (b) アイテム間のスペースを減らします (過剰に見えます。 ")
だから、私は本当に両方を好むでしょう。どちらか、または両方を行うにはどうすればよいですか?
MaxDropDownHeight プロパティは単なるチケットのように見えますが、無限に設定すると機能しません/無限の奇妙な定義があります。
この問題を抱えているそのうちの 1 つの XAML を次に示します。
<ComboBox x:Name="comboBoxDay" Grid.Row="4" Grid.Column="5" Margin="8" IsEnabled="False"></ComboBox>
...そしてその内容:
for (int i = 1; i < 32; i++)
{
comboBoxDay.Items.Add(i);
}
アップデート
高さを 15 に設定すると、テキストの一部が切り取られます。18もそうです。それでも、3月から11月までしか表示されません。また、MaxDropDownHeight を最初に 320 に設定し、次に 520 に設定します。問題のコンボ ボックスの XAML 全体を次に示します。
<ComboBox x:Name="comboBoxFromMonth" Grid.Row="1" Grid.Column="1"
Height="24" Width="80" MaxDropDownHeight="520" HorizontalAlignment="Left"
VerticalAlignment="Center" Margin="4">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Height="20" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
...(1 月、2 月、12 月はまだスクロールしないと表示されませんが、下に十分なスペースがあります - 不動産は問題ではありません)。
コンボボックス内のすべてのアイテムはデフォルトで表示されるべきであり、すべてを表示するためにフープをジャンプする必要はないようです...少なくとも妥当な量のアイテム(42以下)で。