ComboBox и его проблема ширины ItemTemplate - PullRequest
0 голосов
/ 02 июля 2019

У меня есть коллекция объекта ModuleVariant, которая называется ModuleVariantList.ModuleVariant содержит такие свойства, как ModuleVariantNumber и VariantDescription, это описание может иметь длину 1000 символов.

В моем ComboBox (cmbVariant) должно отображаться значение в виде ModuleVariantNumber - VariantDescription в одной строке.Ширина ComboBox равна 300, тогда мой элемент управления combobox также хочет показывать ту же ширину и значение, что и тот же формат жала, когда я нажимаю comboBox.Описание варианта слишком длинное, поэтому я хочу показать максимум 100 символов в ComboBox и на его панели управления.Как этого добиться?

Я пробовал с нижеприведенными примерами кода формат строки работает, но всегда приходит несколько строк в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...