lum*_*ck4 4 wpf xaml string-formatting
我正在尝试使用XAML中的StringFormat来填充TabItem上的Header文本.我使用的代码是:
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItemStyle}">
<Setter Property="Header" Value="{Binding MyValue, StringFormat='My Value is {0}'}" />
<EventSetter Event="FrameworkElement.Loaded" Handler="OnTabItemLoaded" />
<EventSetter Event="FrameworkElement.Unloaded" Handler="OnTabItemUnloaded" />
</Style>
</TabControl.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)
问题是我的标题只显示标题中的值MyValue
而不是格式化文本.
因为Header属性不是字符串属性.
您需要使用包含TextBlock的headertemplate,您可以使用stringformat绑定Text属性
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItemStyle}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding MyValue, StringFormat='My Value is {0}'}" />
</DataTemplate>
</Setter.Value>
</Setter>
<EventSetter Event="FrameworkElement.Loaded" Handler="OnTabItemLoaded" />
<EventSetter Event="FrameworkElement.Unloaded" Handler="OnTabItemUnloaded" />
</Style>
</TabControl.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1788 次 |
最近记录: |