在OxyPlot中为WPF更改轴文本颜色

时间:2014-07-07 19:09:22

标签: c# wpf xaml oxyplot

我喜欢OxyPlot解决方案,但这里有一个问题。
有人知道如何在WPF中更改轴文本颜色吗? 在OxyPlot.dll中有Axis.TextColor属性,但OxyPlot.Wpf.dll中不存在此属性。我不知道为什么。有什么方法,我怎么能做到这一点?

Image from OxyPlots example browser

修改
我试图更改我能找到的每个轴颜色属性(TicklineColorMajorGridlineColorMinorGridlineColorExtraGridlineColorAxislineColorTitleColor)没有任何运气。

EDIT2:
正如@Jamleck想要我添加XAML。

<Color x:Key="MyColor">#ffffff</Color>
<Style x:Key="ResultPlotStyle" TargetType="oxy:PlotView">
    <Setter Property="Margin" Value="10" />
    <Setter Property="Background" Value="#1f1f1f" />
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="BorderBrush" Value="Transparent" />
    <Setter Property="PlotAreaBorderColor" Value="{StaticResource MyColor}" />
    <Setter Property="PlotAreaBorderThickness" Value="1 1 1 1" />
    <Setter Property="TextColor" Value="{StaticResource MyColor}" />
</Style>

<Style x:Key="ResultAxisStyle" TargetType="oxy:LinearAxis">
    <Setter Property="TicklineColor" Value="{StaticResource MyColor}" />
    <Setter Property="MajorGridlineColor" Value="{StaticResource MyColor}" />
    <Setter Property="MinorGridlineColor" Value="{StaticResource MyColor}" />
    <Setter Property="ExtraGridlineColor" Value="{StaticResource MyColor}" />
    <Setter Property="AxislineColor" Value="{StaticResource MyColor}" />
    <Setter Property="TitleColor" Value="{StaticResource MyColor}" />
    <Setter Property="TextColor" Value="{StaticResource MyColor}" />
    <Setter Property="TickStyle" Value="None" />
</Style>

<Style x:Key="ResultLeftAxisStyle" TargetType="oxy:LinearAxis" BasedOn="{StaticResource ResultAxisStyle}">
    <Setter Property="PositionAtZeroCrossing" Value="True" />
</Style>

<Style x:Key="ResultBottomAxisStyle" TargetType="oxy:LinearAxis" BasedOn="{StaticResource ResultAxisStyle}">
    <Setter Property="TickStyle" Value="Crossing" />
</Style>

2 个答案:

答案 0 :(得分:1)

所以在这个时候,这个属性还没有在OxyPlot的WPF版本中实现。它阐明了我无法编辑此设置的原因。作为开发者团队answered对我的问题的objo,this问题项涵盖了该问题 因此,如果我现在想要这个功能,我必须自己将它实现到OxyPlot。

答案 1 :(得分:1)

我遇到了同样的问题,发现直观的轴文本颜色可以通过PlotModel对象的TextColor属性设置。 (当然它可能会比你的轴文本更多的文字颜色 - 但我没有遇到这个问题。)

MyPlotModel = new PlotModel { };
MyPlotModel.TextColor = OxyColors.Red;