I'm binding the Expander.Header property in XAML to a backing public property of string type in my ViewModel using the MVVM pattern:
public string EnumName {...}
I'm setting this property to "X_Y_Z" but for some strange reason the Expander Header is removing the first underscore character and it is displayed as XY_Z. I tried adding a "\" before or setting it to @"X_Y_Z" but no luck.
Here my XAML binding portion:
<Expander IsExpanded="true" Header="{Binding EnumName}">
Anybody know why I'm getting this behavior? Is it taking the first "_" as a keyboard shortcut or a meta-character?
Thanks,
@H.B. pointed me to the right direction. I ended up setting a Header Template for my Expander as follows, accessing the DataContext of the ancestor ListViewItem:
<Expander.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.EnumName,RelativeSource={RelativeSource AncestorType=ListViewItem}}"/>
</DataTemplate>
</Expander.HeaderTemplate>
Since I'm now using a TextBlock it does not remove any of the "_" characters in my string.