Несколько привязок в 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...
Что можно придумать?