我喜欢OxyPlot解决方案,但这里有一个问题。
有人知道如何在WPF中更改轴文本颜色吗?
在OxyPlot.dll中有Axis.TextColor属性,但OxyPlot.Wpf.dll中不存在此属性。我不知道为什么。有什么方法,我怎么能做到这一点?
修改
我试图更改我能找到的每个轴颜色属性(TicklineColor
,MajorGridlineColor
,MinorGridlineColor
,ExtraGridlineColor
,AxislineColor
,TitleColor
)没有任何运气。
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>
答案 0 :(得分:1)
所以在这个时候,这个属性还没有在OxyPlot的WPF版本中实现。它阐明了我无法编辑此设置的原因。作为开发者团队answered对我的问题的objo,this问题项涵盖了该问题 因此,如果我现在想要这个功能,我必须自己将它实现到OxyPlot。
答案 1 :(得分:1)
我遇到了同样的问题,发现直观的轴文本颜色可以通过PlotModel对象的TextColor属性设置。 (当然它可能会比你的轴文本更多的文字颜色 - 但我没有遇到这个问题。)
MyPlotModel = new PlotModel { };
MyPlotModel.TextColor = OxyColors.Red;