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

3
我喜欢OxyPlot的解决方案,但我有一个问题。
有人知道如何在WPF中更改轴文本颜色吗? 在OxyPlot.dll中,有Axis.TextColor属性,但是在OxyPlot.Wpf.dll中没有此属性。我不知道为什么。有没有办法实现这一点?

来自OxyPlots示例浏览器的图像

编辑:
我尝试更改我能找到的每个轴颜色属性(TicklineColorMajorGridlineColorMinorGridlineColorExtraGridlineColorAxislineColorTitleColor),但都没有成功。

编辑2:
根据@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>

对于这个特定的问题我不太熟悉,但是我敢打赌你可以通过在控件模板或资源字典中查找相关属性或资源来找到它们所引用的内容。 - undefined
请发布您的XAML代码。 - undefined
好的,@Jamleck,我按照你的要求添加了XAML代码样式。 - undefined
2个回答

3

我遇到了同样的问题,并发现反直觉的是,轴文本颜色可以通过PlotModel对象的TextColor属性设置。(当然,它可能会着色更多的文本,而不仅仅是您的轴文本 - 但我没有遇到这个问题。)

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

1
在此期间,WPF版本的OxyPlot尚未实现此属性。这就解释了为什么我无法编辑此设置。正如开发团队中的objo 回答 我的问题时所说,该问题涵盖在此处的问题项中。
因此,如果我想要这个功能,现在我必须自己实现它到OxyPlot中。

似乎仍未实施,GitHub的问题链接是https://github.com/oxyplot/oxyplot/issues/39。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接