WPF livecharts 折线图遮挡数字问题

这篇具有很好参考价值的文章主要介绍了WPF livecharts 折线图遮挡数字问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在WPF里使用livecharts,如果折线图或者柱状图有多个的时候,可能会出现两个数字遮挡问题,这时候要设置DataLabelsTemplate 属性。

如LineSeries设置代码如下:

第一个折线图的DataLabelsTemplate

var stackPanelFactory = new FrameworkElementFactory(typeof(StackPanel));
stackPanelFactory.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);
var textBlockFactoryA = new FrameworkElementFactory(typeof(TextBlock));
textBlockFactoryA.SetValue(TextElement.ForegroundProperty, new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#5BABEF")));
textBlockFactoryA.SetBinding(TextBlock.TextProperty, new Binding("FormattedText"));
textBlockFactoryA.SetValue(TextBlock.MarginProperty, new Thickness(0, 0, 0, -8));
stackPanelFactory.AppendChild(textBlockFactoryA);
var dataTemplate = new DataTemplate() { VisualTree = stackPanelFactory };

第二个折线图的DataLabelsTemplate

 var stackPanelFactory2 = new FrameworkElementFactory(typeof(StackPanel));
 stackPanelFactory2.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);
 var textBlockFactoryA2 = new FrameworkElementFactory(typeof(TextBlock));
 textBlockFactoryA2.SetValue(TextElement.ForegroundProperty, new SolidColorBrush(Colors.White));
 textBlockFactoryA2.SetBinding(TextBlock.TextProperty, new Binding("FormattedText"));
 textBlockFactoryA2.SetValue(TextBlock.MarginProperty, new Thickness(0, 0, 0, -40));
 stackPanelFactory2.AppendChild(textBlockFactoryA2);
 var dataTemplate2 = new DataTemplate() { VisualTree = stackPanelFactory2 };

设置LineSeries

Func<double, string> Formatter;
SeriesCollection = new SeriesCollection
{
    new LineSeries
    {
        Title = "",
        DataLabels=true,
        //注意设置在这里
        DataLabelsTemplate= dataTemplate,
        Values = inValueList,
        Stroke=new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#5BABEF")),
        Foreground= new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#5BABEF")),
        FontSize=26,
    },
    new LineSeries
    {
        Title="",
        DataLabels=true,
        //注意设置在这里
        DataLabelsTemplate= dataTemplate2,
        Values= outValueList,
        Stroke =new SolidColorBrush(Colors.White),
        Foreground= new SolidColorBrush(Colors.White),
        FontSize=26,
    },

};

Formatter = value => value.ToString("N");
lvcWeekLabel.Labels = Labels;
lvcWeekLabel.LabelFormatter = Formatter;
lvcWeek.Series = SeriesCollection;

具体位置可能要根据你的图表大小调整,主要就是调整

textBlockFactoryA2.SetValue(TextBlock.MarginProperty, new Thickness(0, 0, 0, -40));

这句话。另外字体大小什么的也可以根据需求调整文章来源地址https://www.toymoban.com/news/detail-726198.html

到了这里,关于WPF livecharts 折线图遮挡数字问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF 控件分辨率自适应问题

    WPF 控件分辨率自适应时,我首先想到的是使用ViewBox控件来做分辨率自适应。 ViewBox这个控件通常和其他控件结合起来使用,是WPF中非常有用的控件。定义一个内容容器。ViewBox组件的作用是拉伸或延展位于其中的组件,以填满可用空间,使之有更好的布局及视觉效果。 组件常

    2024年02月07日
    浏览(39)
  • WPF --- 触摸屏下的两个问题

    本片文章分享一下之前遇到的WPF应用在触摸屏下使用时的两个问题。 具体场景就是一个配置界面, ScrollViewer 中包含一个 StackPanel 然后纵向堆叠,已滚动的方式查看,然后包含多个 TextBlock 、 TextBox 以及 DataGrid ,期间遇到了两个问题: WPF在触摸屏下,如果有滚动条( ScrollVie

    2024年03月09日
    浏览(46)
  • async/await 致WPF卡死问题

    问题代码: xmal:一个按钮+一个显示框   cs:点击按钮,显示结果 Button_Click事件处理中获取异步方法getResult的结果, getResult只是简单等待1s后返回结果,却并没有如预期返回。 分析: getResult中遇到await后,主线程返回等待结果,await处异步线程执行完之后,后面的任务仍交由

    2024年02月08日
    浏览(29)
  • WPF ContextMenu 的绑定和传参问题

     在 ListView 列表中,存在多个项目,每个项目都需要右键菜单进行操作。这时一般情况下定义的采用以下方式:即在模板中定义的控件内(在当前示例中是 Border ),定义一个 ContextMenu 。Command在ViewModel中定义。

    2024年02月06日
    浏览(33)
  • 探究WPF中文字模糊的问题:TextOptions的用法

    有网友问WPF中一些文字模糊是什么问题。之前我也没有认真思考过这个问题,只是大概知道和WPF的像素对齐(pixel snapping)、抗锯齿(anti-aliasing)有关,通过设置附加属性 TextOptions.TextFormattingMode 或者 TextOptions.TextRenderingMode 来解决。这次我也查了下资料,了解了这几个附加属

    2024年03月12日
    浏览(38)
  • WPF 解决 Style.Trigger 中数据绑定失效的问题

    参考:stackoverflow 有如下代码,发现在 ImageSource=\\\"{Binding SomeImage}\\\" 中没有绑定的当前的 DataContext 改成如下即可

    2024年02月11日
    浏览(34)
  • [C#]WPF 分辨率的无关性的问题

    首先得解什么是Dpi(Density independent pixels ,设备无关像素),百度百科的解释DPI是指每英寸的像素,对应界面显示即是屏幕上每英寸的像素。 如标准的Windows DPI(96Dpi),代表1英寸96个像素。 假设有一个96px*96px的按钮,如果在标准标准的Windows DPI的情况下看起来就是英寸的大小

    2024年02月15日
    浏览(33)
  • 解决WPF+Avalonia在openKylin系统下默认字体问题

    一、openKylin简介 openKylin(开放麒麟) 社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作,构建桌面操作系统开源社区,推动Linux开源技术

    2024年02月08日
    浏览(42)
  • 解决WPF绑定数据源,数据更新,UI不更新的问题

    XAML中已经设置 View中已经实现IDisposable接口。 ViewModel中已经实现INotifyPropertyChanged接口方法RaisePropertyChanged。 Model中已经配置TextValue 如果已经正确设置Model与ViewModel的 INotifyPropertyChanged ,且Model中的数据可以执行 RaisePropertyChanged ,但此时UI仍不能更新,请检查View中是否 DataCont

    2024年02月14日
    浏览(30)
  • WPF 设置窗体 Window的 WindowStyle=“None“ 上方有白条问题

    WPF 重写Window窗体的样式为None,上方有一条白条线,如下图: 解决方案: Window窗体属性设置:ResizeMode=“CanMinimize” 解决之后显示如下: 整体代码参考如下: 备注:如果添加WindowStyle=“None” 和ResizeMode=\\\"CanMinimize\\\"同时设置,就不会显示横向导航条

    2024年02月16日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包