Hello,
Welcome to Microsoft Q&A.
The width of the combo box's drop-down list is determined by the max-width of a items, and the overall height is determined by ComboBox.MaxDropDownHeight.
Here is a example:
xaml
<Grid>
<ComboBox x:Name="TestComboBox" MaxDropDownHeight="200"
ItemsSource="{x:Bind TestCollection}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" TextTrimming="CharacterEllipsis"
Width="150"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
xaml.cs
public ObservableCollection<string> TestCollection = new ObservableCollection<string>();
public TestPage()
{
this.InitializeComponent();
for (int i = 0; i < 1000; i++)
{
TestCollection.Add(i.ToString());
}
}
In this way, the size of the drop-down list can be limited to 150x200.
Update
The size of the ComboBox drop-down list will change based on the size of the internal elements, but it cannot be less than the value of the established ComboBox.Width.
In ComboBox, there is a property is TemplateSettings, this property is read-only, and this property represents some style properties when ComboBox is created, including DropDownContentMinWidth and DropDownOpenedHeight, etc., they are all read-only.
This means that these properties will be assigned and created internally after the ComboBox is instantiated, and currently cannot be modified from the outside.
So if you create a ComboBox with a width of 300, the minimum width of the drop-down list is 300. However, currently the maximum height can be modified by ComboBox.MaxDropDownHeight
Thanks.