WPF - форматирование строки не работает - PullRequest
3 голосов
/ 05 октября 2010

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

  <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>

1 Ответ

4 голосов
/ 27 июля 2011

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

...