Как создать комбинированный список, в котором раскрывающийся список показывает две колонки, а выбор показывает только одну? - PullRequest
1 голос
/ 06 февраля 2012

Я хотел бы, чтобы Google это, но я не знаю, как это слово, чтобы сделать поиск.Моя проблема довольно проста: я портирую приложение, написанное на Access, и на одной из форм есть поле со списком.Когда вы открываете выпадающий список, он отображает два столбца информации: аббревиатуры слева и полные имена справа.Когда вы выбираете один из них, выбранный параметр в выпадающем списке (раскрывающийся список закрыт) отображает только сокращение.Есть идеи, как этого добиться в WPF?

1 Ответ

4 голосов
/ 06 февраля 2012

Вот другой способ сделать это в XAML. Важной частью является TextSearch.TextPath. Это будет искать объект с указанным именем. В данном случае это строка с именем «Foo».

    <ComboBox Name="cmbBox" ItemsSource="{Binding Test}" Height="25" IsEditable="True" IsReadOnly="True" TextSearch.TextPath="Foo">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" TextSearch.Text="{Binding Path=Bar}">
                    <TextBlock Text="{Binding Path=Foo}"/> 
                    <TextBlock Text="{Binding Path=Bar}" Margin="10 0"/>
                </StackPanel>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

Для программной установки TextSearch все, что вам нужно сделать, это:

    cmbBox.SetValue(TextSearch.TextPathProperty, "Foo");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...