2010-10-05 3 views
3

Мне нужно добавить простую строку в свой командный параметр, но не работает. Поддерживает ли StringFormat это или я делаю что-то неправильно?WPF - Binding StringFormatting Not Working

<DataTemplate x:Key="ClickableHeaderTemplate"> 
       <Button x:Name="btn" Content="{Binding}" Background="Transparent" 
        Command="{Binding DrilldownHeaderClicked}" 
        Tag="{Binding RelativeSource={RelativeSource Self}, Path=Content}" 
        CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Tag, StringFormat=somestring\{0\}}"> --- formatting doesnt work. tried without escape seq as well as in 'somesting{0}'. 
       </Button> 
      </DataTemplate> 

ответ

4

Свойство StringFormat работает только в том случае, если Тип целевого свойства является строкой. В этом случае целевым свойством является CommandParameter, который имеет тип объекта. Вам нужно будет создать свой собственный IValueConverter и использовать его в качестве конвертера для привязки. Существует пример IValueConverter, аналогичный тому, что вам нужно в SL docs for IValueConverter.

Смежные вопросы