我有一个名为ModuleVariantList的ModuleVariant对象的集合。 ModuleVariant包含ModuleVariantNumber和VariantDescription之类的属性,此描述的长度可能为1000个字符。
在我的ComboBox(cmbVariant)中,应在单行中将值显示为ModuleVariantNumber-VariantDescription。 ComboBox的宽度是300,那么当我单击comboBox时,我的combobox项控件也希望显示相同的宽度和值作为相同的字符串格式。变体说明太长,因此我想在ComboBox及其项目控制面板中显示最多100个字符。如何实现呢?
我已经尝试使用下面的代码示例来处理字符串格式,但是在ConboBox ItemControlpanel中总是出现多行,而且它的宽度大于comboBox的宽度。如何解决这个问题。
<ComboBox x:Name="cmbVariant" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Margin="0,10,0,0" ItemsSource="{Binding ModuleVariantList}" SelectedItem="{Binding SelectedModuleVariantItem}" HorizontalAlignment="Stretch">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping="NoWrap">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} - Desc: {1}">
<Binding Path="ModuleVariantNumber"/>
<Binding Path="VariantDescription"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel/>
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>