привязка составного набора данных к словарю - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь заполнить поле со списком словом «Нет», или «Выбрать один», или «все», в зависимости от состояния выбора поля со списком, это не проблема.

Я также хочу иметь в том же поле со списком набор словарных ключей, которые в конечном итоге выбирают фактические значения, соответствующие ключам, что само по себе не является проблемой.

Моя проблема в том, что для объединения этих двух элементов в одно поле со списком мне нужно создать составную коллекцию, и создается впечатление, что составная коллекция по каким-то причинам не принимает словари.

Кто-то указал мне на ObservableCollection, но могу ли я на самом деле использовать и ObservableCollection так же, как я использовал словарь, например,

              SelectedValuePath="Value" DisplayMemberPath="Key"

Если я пытаюсь использовать словарь, он просто говорит мне, что эти два свойства или члены недопустимы / недоступны.

По сути, у меня есть это, с контейнером сбора, закомментированным, потому что он выдаст ошибку:

        <ComboBox Name="VehicleSelect" DockPanel.Dock="Left" IsEditable="False" Height="19" Margin="1,0,0,0" HorizontalAlignment="Left" AllowDrop="True" SelectionChanged="Vehicle_SelectionChanged" Width="110">
            <ComboBox.ItemsSource>
                <CompositeCollection>
                    <ListBoxItem Name="ComboBoxItem_Default" IsSelected="True" Visibility="Collapsed" VerticalAlignment="Top">Select a Vehicle</ListBoxItem>
                    <!--<CollectionContainer Collection="{Binding Source={StaticResource Vehicles}}" SelectedValuePath="Value" DisplayMemberPath="Key"-->
                </CompositeCollection>
            </ComboBox.ItemsSource>
        </ComboBox>

Есть ли потенциально лучшая работа, которая могла бы быть проще и все же сэкономить место в моем пользовательском интерфейсе, которая могла бы выполнить то же самое по-другому?

Могу ли я использовать ObservableCollection для реализации этого? Я никогда не слышал о ObservableCollection, поэтому, если можно спросить, как бы я использовал его так, как я хочу?

...