【问题标题】:Change axis textcolor in OxyPlot for WPF在 OxyPlot 中为 WPF 更改轴文本颜色
【发布时间】:2017-06-01 19:12:49
【问题描述】:

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

编辑:
我试图更改我能找到的每个轴颜色属性(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>

【问题讨论】:

  • 对这个特别不熟悉,但打赌你可以通过在控制模板/资源字典中挖掘来找到他们引用的属性或资源。
  • 请发布您的 XAML 代码。
  • OK @Jamleck 我根据需要添加 XAML 代码样式。

标签: c# wpf xaml oxyplot


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    因此,此时此属性尚未在 WPF 版本的 OxyPlot 中实现。它阐明了为什么我无法编辑此设置。作为开发人员团队 answered 对我的问题的 objo,它包含在 this 问题项中。
    所以如果我现在想要这个功能,我必须自己实现它到 OxyPlot。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    相关资源
    最近更新 更多