ValueConverter не вызывается в привязке DataTemplate - PullRequest
2 голосов
/ 23 апреля 2010

У меня есть ComboBox, который использует DataTemplate. DataTemplate содержит привязку, которая использует IValueConverter для преобразования перечисляемого значения в строку. Проблема в том, что преобразователь значений никогда не вызывается. Если я поставлю точку останова в StatusToTextConverter.Convert(), она никогда не будет достигнута.

Это мой XAML:

    <ComboBox ItemsSource="{Binding Path=StatusChoices, Mode=OneWay}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Converter={StaticResource StatusToTextConverter}}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

Я думал, что это то, как человек неявно связывается со значением, которое представляет DataTemplate. Я не прав?

Редактировать: Для контекста: я намерен отобразить Image в DataTemplate рядом с TextBox. Если я не могу получить привязку TextBox к работе, то я не думаю, что Image тоже будет работать.

1 Ответ

3 голосов
/ 23 апреля 2010

В некоторых случаях вы должны явно указать Path для Binding.Попробуйте вместо этого:

<TextBlock Text="{Binding Path=.,Converter={StaticResource StatusToTextConverter}}"/>
...