如何更改 Oxyplot 跟踪值的字符串格式?
How to change the stringformat of Oxyplot track value?
如果我更改轴的字符串格式,它适用于轴(参见图片的黑色圆圈)。但是如何更改轨道值(红色圆圈)的字符串格式?
你应该设置DefaultTrackerTemplate
。这是一个向您展示方法的小例子:
<Grid>
<oxy:Plot Title="AAA">
<oxy:Plot.Axes>
<oxy:LinearAxis Position="Left" Title="Left: " />
<oxy:LinearAxis Position="Bottom" Title="Bottom: " />
</oxy:Plot.Axes>
<oxy:Plot.Series>
<oxy:LineSeries x:Name="ls" ItemsSource="{Binding Points}"/>
</oxy:Plot.Series>
<oxy:Plot.DefaultTrackerTemplate>
<ControlTemplate>
<oxy:TrackerControl Position="{Binding Position}"
BorderThickness="1">
<oxy:TrackerControl.Content>
<StackPanel >
<DockPanel>
<TextBlock Text="{Binding XAxis.Title}" Foreground="Red" />
<TextBlock DockPanel.Dock="Right" Text="{Binding DataPoint.X}" Foreground="Red" />
</DockPanel>
<DockPanel>
<TextBlock Text="{Binding YAxis.Title}" Foreground="Green" />
<TextBlock DockPanel.Dock="Right" Text="{Binding DataPoint.Y}" Foreground="Green"
FontWeight="Bold" />
</DockPanel>
</StackPanel>
</oxy:TrackerControl.Content>
</oxy:TrackerControl>
</ControlTemplate>
</oxy:Plot.DefaultTrackerTemplate>
</oxy:Plot>
</Grid>
希望对您有所帮助。
我想根据Ramin给我的提示回答我自己的问题。
我稍微研究了一下源代码,发现有一个 TrackerFormatString
我可以更改:
<oxy:LineSeries TrackerFormatString="{}{0}
{1}: {2:0.0}
{3}: {4:0.0}"/>
请注意我代码中的 

,换行符是如何在 XAML 中输入的。
另请注意开头的 {}
,这是 XAML 中的一种转义字符。
如果在 c# 中,它只是:
{0}\n{1}: {2:0.0}\n{3}: {4:0.0}
如果我更改轴的字符串格式,它适用于轴(参见图片的黑色圆圈)。但是如何更改轨道值(红色圆圈)的字符串格式?
你应该设置DefaultTrackerTemplate
。这是一个向您展示方法的小例子:
<Grid>
<oxy:Plot Title="AAA">
<oxy:Plot.Axes>
<oxy:LinearAxis Position="Left" Title="Left: " />
<oxy:LinearAxis Position="Bottom" Title="Bottom: " />
</oxy:Plot.Axes>
<oxy:Plot.Series>
<oxy:LineSeries x:Name="ls" ItemsSource="{Binding Points}"/>
</oxy:Plot.Series>
<oxy:Plot.DefaultTrackerTemplate>
<ControlTemplate>
<oxy:TrackerControl Position="{Binding Position}"
BorderThickness="1">
<oxy:TrackerControl.Content>
<StackPanel >
<DockPanel>
<TextBlock Text="{Binding XAxis.Title}" Foreground="Red" />
<TextBlock DockPanel.Dock="Right" Text="{Binding DataPoint.X}" Foreground="Red" />
</DockPanel>
<DockPanel>
<TextBlock Text="{Binding YAxis.Title}" Foreground="Green" />
<TextBlock DockPanel.Dock="Right" Text="{Binding DataPoint.Y}" Foreground="Green"
FontWeight="Bold" />
</DockPanel>
</StackPanel>
</oxy:TrackerControl.Content>
</oxy:TrackerControl>
</ControlTemplate>
</oxy:Plot.DefaultTrackerTemplate>
</oxy:Plot>
</Grid>
希望对您有所帮助。
我想根据Ramin给我的提示回答我自己的问题。
我稍微研究了一下源代码,发现有一个 TrackerFormatString
我可以更改:
<oxy:LineSeries TrackerFormatString="{}{0}
{1}: {2:0.0}
{3}: {4:0.0}"/>
请注意我代码中的 

,换行符是如何在 XAML 中输入的。
另请注意开头的 {}
,这是 XAML 中的一种转义字符。
如果在 c# 中,它只是:
{0}\n{1}: {2:0.0}\n{3}: {4:0.0}