我将StringFormat = {} {0:C}放在哪里使轴标签具有货币格式?
<DVC:LinearAxis Orientation="X" Interval="500000" ShowGridLines="True" Minimum="0" >
<DVC:LinearAxis.AxisLabelStyle>
<Style TargetType="DVC:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DVC:AxisLabel">
<TextBlock Text="{TemplateBinding FormattedContent}">
<TextBlock.LayoutTransform>
<RotateTransform Angle="60"/>
</TextBlock.LayoutTransform>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DVC:LinearAxis.AxisLabelStyle>
</DVC:LinearAxis>
答案 0 :(得分:1)
未经测试,但我认为这样可以解决问题:
<TextBlock Text="{TemplateBinding FormattedContent, StringFormat={}{0:C}}">
(这是您发布的代码的第7行。)
答案 1 :(得分:1)
答案 2 :(得分:1)
ContentStringFormat不再适用于SL4,这种方式对我有用,andulvar on sl forum建议:
如果您只需要一个StringFormat:
<TextBox DataContext="{TemplateBinding Value}"
Text="{Binding StringFormat='\{0:MM/dd HH:mm\} '}"/>
或者如果你想使用转换器:
<TextBox DataContext="{TemplateBinding Value}"
Text="{Binding Converter={StaticResource Double2String}}"/>
我希望通过这种方式帮助某人,我花了很多时间找到正确的方法来做到这一点。
答案 3 :(得分:1)
更好的是,您可以继续在X,Y轴上放置自定义文本,而不仅仅是数字或日期。您只需要一个转换器,将值(数字,日期)转换为更有意义的文本。
<chartingToolkit:LinearAxis Orientation="X" ShowGridLines="True">
<chartingToolkit:LinearAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<TextBlock Text="{TemplateBinding FormattedContent, Converter={StaticResource MileTextConverter}}"></TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:LinearAxis.AxisLabelStyle>
</chartingToolkit:LinearAxis>
答案 4 :(得分:0)
<Label>
<Label.Content>
<ContentPresenter Content="{TemplateBinding FormattedContent}" ContentStringFormat="{}{0:C}" />
</Label.Content>
</Label>