C#-WPF-控件-CartesianChart圖表-線性3(LineSeries)-MVVM模式(封裝數(shù)據(jù)綁定類)
知識點1. 數(shù)據(jù)綁定數(shù)據(jù)綁定類 與 圖形操作在同一個類中2. X軸上顯示點數(shù)主類 中3. 添加隨機值在圖表中 值針對Y軸值4. 清空圖表5. 圖標(biāo)titel顯示實例圖表控件綁定 SeriesCollectionA Utils_ChartA.cs中l(wèi)vc:CartesianChart x:NameLiveChartsA Margin10,146,185,51 Series{Binding SeriesCollectionA} Background#FFF8FCFD LegendLocationTop /lvc:CartesianChart提示框綁定 MsgTips Utils_ChartA.cs中Label Grid.Row2 Grid.Column0 FontSize12 Background#22FF0000 Content{Binding MsgTips} /Utils_ChartA.cs(數(shù)據(jù)綁定類 與 圖形操作在同一個類中)using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Text; using System.Windows.Media; using LiveCharts; using LiveCharts.Wpf; namespace Wpf_Math.MyUC_TestChart { public class Utils_ChartA : INotifyPropertyChanged { private string _msgTips; private SeriesCollection _seriesCollectionA; public Utils_ChartA() { // 在構(gòu)造函數(shù)中初始化 _seriesCollectionA new SeriesCollection(); } public string MsgTips { get _msgTips; set { _msgTips value; OnPropertyChanged(); } } public SeriesCollection SeriesCollectionA { get _seriesCollectionA; set { if (_seriesCollectionA ! value) { _seriesCollectionA value; OnPropertyChanged(); } } } public void InitializeLiveCharts1(int XPonitLength) { if (XPonitLength 0) XPonitLength 100; LineSeries myLineseries new LineSeries() //實例化一條折線圖 { Title M485-----電壓測試圖, //設(shè)置折線的標(biāo)題 StrokeThickness 1, // 設(shè)置折線粗細(xì) LineSmoothness 1, //折線圖直線形式 0 or 1 PointGeometry null, //折線圖的無點樣式 Stroke Brushes.Red, // 紅色線條 Values new ChartValuesdouble(new Double[XPonitLength]) //添加折線圖的數(shù)據(jù)(X軸劃分點數(shù)) }; SeriesCollectionA.Add(myLineseries); } public void addData(double n) { //通過Dispatcher在工作線程中更新窗體的UI元素 Debug.Write(n n \r\n); SeriesCollectionA[0].Values.Add(n); SeriesCollectionA[0].Values.RemoveAt(0); } public void Clear(CartesianChart Chart) { Chart.Series.Clear(); //清空數(shù)據(jù) InitializeLiveCharts1(0); //重復(fù)新初始化 } public event PropertyChangedEventHandler? PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string name null) PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } }主操作界面using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using LiveCharts; using LiveCharts.Wpf; namespace Wpf_Math.MyUC_TestChart { public partial class UC_ChartA : UserControl { int i; Utils_ChartA ChartA new Utils_ChartA(); public UC_ChartA() { InitializeComponent(); this.DataContext ChartA; ChartA.MsgTips 提示; ChartA.InitializeLiveCharts1(0); } private void Button_Click(object sender, RoutedEventArgs e) { Button button (Button)sender; ChartA.MsgTips 你點擊了-- button.Content i; //Debug.Write(你點擊了--btn_calulate\\r\n) switch (button.Name) { case btn_addA: { ChartA.addData(new Random().Next(0, 30)); break; } case btn_addB: { ChartA.addData(new Random().Next(80, 99)); break; } case btn_clear:{ ChartA.Clear(LiveChartsA);break;} default: break; } } } }將持續(xù)更新

相關(guān)新聞

Python操作MySQL數(shù)據(jù)庫進(jìn)階指南:連接池與事務(wù)管理

Python操作MySQL數(shù)據(jù)庫進(jìn)階指南:連接池與事務(wù)管理

1. Python操作MySQL數(shù)據(jù)庫全景指南作為數(shù)據(jù)驅(qū)動應(yīng)用的核心組件,數(shù)據(jù)庫操作一直是Python開發(fā)者必須掌握的硬技能。MySQL作為最流行的開源關(guān)系型數(shù)據(jù)庫,與Python的配合堪稱黃金組合。但很多開發(fā)者停留在基礎(chǔ)CRUD階段,對連接池、事務(wù)管理等進(jìn)階用…

2026/7/28 20:04:41 閱讀更多
利用美國教育郵箱低成本獲取AI開發(fā)工具權(quán)限:Dify部署與Claude注冊實戰(zhàn)指南

利用美國教育郵箱低成本獲取AI開發(fā)工具權(quán)限:Dify部署與Claude注冊實戰(zhàn)指南

如果你最近在嘗試部署 Dify 或者想體驗 Claude 的最新模型,比如 Claude 3.5 Sonnet 或 Claude 3 Opus,那么一個繞不開的坎就是: 你需要一個能通過嚴(yán)格驗證的郵箱來注冊和綁定這些服務(wù)。 無論是 Dify 的郵件驗證,還是 Anthropic 官方對 Claude 賬號的審核,一個普通的個人…

2026/7/28 20:04:41 閱讀更多
優(yōu)惠券省錢APP數(shù)據(jù)庫優(yōu)化:海量訂單分庫分表策略與索引調(diào)優(yōu)指南

優(yōu)惠券省錢APP數(shù)據(jù)庫優(yōu)化:海量訂單分庫分表策略與索引調(diào)優(yōu)指南

優(yōu)惠券省錢APP數(shù)據(jù)庫優(yōu)化:海量訂單分庫分表策略與索引調(diào)優(yōu)指南 大家好,我是省賺客APP研發(fā)者微賺淘客! 在電商返利領(lǐng)域,訂單數(shù)據(jù)的增長速度是驚人的。隨著用戶量的激增,單表數(shù)據(jù)量突破千萬甚至億級是常態(tài)。面對海量訂單…

2026/7/29 0:45:26 閱讀更多
ZFX山海證券:聚焦細(xì)節(jié),看看外匯市場服務(wù)體驗的關(guān)鍵邏輯

ZFX山海證券:聚焦細(xì)節(jié),看看外匯市場服務(wù)體驗的關(guān)鍵邏輯

在外匯相關(guān)服務(wù)里,ZFX山海證券是否值得長期關(guān)注,往往取決于幾個清晰的體驗點:說明是否好理解、提示是否到位、流程是否連貫、支持是否穩(wěn)定。下面從這些維度對ZFX山海證券做一次正向梳理與要點歸納。外匯相關(guān)信息更新頻繁,平臺將關(guān)…

2026/7/29 0:45:26 閱讀更多
AI 世界模型(World Models)深度解析:從 JEPA 預(yù)測嵌入到 DreamerV3/Genie 2/Sora 的下一代 AI 規(guī)劃與推理架構(gòu)演進(jìn)

AI 世界模型(World Models)深度解析:從 JEPA 預(yù)測嵌入到 DreamerV3/Genie 2/Sora 的下一代 AI 規(guī)劃與推理架構(gòu)演進(jìn)

AI 世界模型(World Models)深度解析:從 JEPA 預(yù)測嵌入到 DreamerV3/Genie 2/Sora 的下一代 AI 規(guī)劃與推理架構(gòu)演進(jìn) 核心痛點:當(dāng)前大模型在語言理解與生成上已接近人類水平,卻仍然缺乏對物理世界運行規(guī)律的內(nèi)部建模能力——這導(dǎo)致它們無法在復(fù)雜動態(tài)環(huán)境中進(jìn)行可靠的長期規(guī)…

2026/7/29 0:45:26 閱讀更多
面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個問題:在 Claude Code 里把一個任務(wù)拆給 5 個 Subagent 并行跑,結(jié)果可能比 1 個 agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實擲骰子的過程。應(yīng)用投擲兩個骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號直觀展示每個骰子的點數(shù),并伴有快速滾動的動畫效果。…

2026/7/29 0:15:24 閱讀更多