Combobox связывание и обновление другого свойства - PullRequest
0 голосов
/ 11 июля 2011

У меня есть следующий XAML внутри сетки данных:

<DataTrigger Binding="{Binding Type}" Value="3">
    <Setter TargetName="content" Property="ContentTemplate">
        <Setter.Value>
            <DataTemplate>
                <ComboBox 
                    SelectedValue="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                    ItemsSource="{Binding List, Converter={Converters:DelimitedListToItemsSource}}">
                </ComboBox>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</DataTrigger>

Что он делает - когда "Type = 3" - ячейка отображает ComboBox.Чем я анализирую свойство «List» внутри моего конвертера DelimitedListToItemsSource List выглядит как «Value 1|0|Value 2|1|Value 3|3» - в основном массив ключ / значение в строке с разделителями.

Что я хочу сделать, это связать SelectedValue с частью «value»моей строки с разделителями.

Я думаю, что мне нужно написать другой конвертер значений для ItemsSource, но я не знаю, как передать туда свойство "List"?Он привязывается к свойству «Значение»

Итак, я полагаю, что вопрос сводится к передаче ссылки на объект в преобразователь значения, поэтому я могу установить фактическое преобразованное значение на основе других данных в объекте.

И,если вы читаете весь вопрос, а я делаю все неправильно, я приветствую предложения ..

1 Ответ

0 голосов
/ 11 июля 2011

Вы не можете передать более одного связанного значения обычному конвертеру.

Вы можете либо настроить MultiConverter, который принимает два параметра (SelectedValue и ValueList) и возвращает правильный элемент, либо изменить ваш конвертер, чтобы он возвращал список пар ключ / значение и связывал ComboBox SelectedValuePath="Key" и DisplayMemberPath="Value"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...