Несколько привязок в WPF

Попытаюсь, рассказать на пальцах:

Есть VM, где есть список значений для ComboBox, а так же список значений для ListView.

У каждого элемента ListView есть 2 поля, где одно идет в название Label, а другое Value в интерфейсе не отображается.

В XAML все рисуется как=то так:

        <StackPanel>
            <Label>Настройка привязок результата работы алгоритма</Label>
            <ListView MinHeight="100" ItemsSource="{Binding FieldBindings}" SelectedItem="{Binding SelectedBinding}" >
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <UniformGrid >
                            <Label Content="{Binding Item.Name}" MinWidth="200"></Label>
                            <ComboBox ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=StackPanel},
                                Path=DataContext.AvailableColumns}" DisplayMemberPath="ColumnName"
                                      SelectedItem="{Binding RelativeSource={RelativeSource AncestorType=StackPanel},
                                Path=DataContext.SelectedColumnDescription}">
                            </ComboBox>
                        </UniformGrid>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
            <Button Height="20" Command="{Binding Test}"></Button>
        </StackPanel>

Т.е интерфейсе - это label + combobox и при этом, все ComboBox'ы привязаны к одному списку.

В VM я перехватываю SelectedItem в ComboBox, чтобы если значение было выбрано, то его я убираю из пула значений, чтобы его больше выбрать нельзя было.

Вроде, все хорошо, но проблема в том, что я хочу еще значение, которое выбрал пользователь записать в Item ListView, в рамках которого произошло это действие и вот я не понимаю, как это можно сделать...

Я попытался через SelectedItem в ListView, но это не работает, так как это срабатывает, если пользователь не первым делом нажимает на ComboBox...

Что можно придумать?


Ответы (0 шт):