У меня есть DataGrid и Expander, вот так:
<StackPanel>
<my:DataGrid Name="dataGrid1" AutoGenerateColumns="False" ItemsSource="{Binding}">...</my:DataGrid>
<Expander Header="{Binding ElementName=dataGrid1, Path=SelectedItem.Name, StringFormat=Details of {0}}">...</Expander>
</StackPanel>
Привязка в порядке, но по какой-то причине форматирование строки не будет работать. Всегда отображается только значение dataGrid1.SelectedItem.Name
Я также попробовал:
StringFormat=Details of \{0\}
, который не работает.
Я даже попытался просто установить для свойства HeaderStringFormat Expander значение «Details of {0}», но это тоже не форматирует.
Мне удалось заставить этот обходной путь работать, хотя:
<Expander>
<Expander.Header>
<TextBox Text="{Binding ElementName=dataGrid1, Path=SelectedItem.Name, StringFormat=Details of {0}}"></TextBox>
</Expander.Header>
</Expander>
Кто-нибудь знает, почему StringFormat не работает для свойства Header?