图表(Chart):运行时、Chart.js 绘制、设计器的"系列和图例"
- System.Windows.Forms.DataVisualization.Charting:ChartAreas、Legends、Titles、Series (ChartType、Points.AddXY、图例文字等),DataSource + DataBind(DataTable / DataView / DataSet, 按 XValueMember、YValueMembers 取列);数据变化时把各系列的点发给浏览器 - 浏览器用 Chart.js 画:SeriesChartType 对应折线、柱形、饼图等,WinForms 默认的 BrightPastel 配色,不要动画 - 设计器工具箱加"图表",和 VS 一样带 ChartArea1、Legend1、Series1;属性窗口"系列和图例"对话框 编辑系列(名称、图表类型、图例、图例文字、X / Y 值字段)和图例,按 VS 的格式和顺序写回 Designer.cs, 对话框不管的属性原样保留,教材项目 8 的图表读入再写出逐字节不变;删除图表时一起删掉局部变量; 设计时用示例数据预览 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d60868d912
commit
2cd0111967
13 files changed
+1227
-4
No files matched your search
@@ -6,6 +6,7 @@ import { computed, ref, shallowRef, watch } from 'vue'
|
||||
import ControlView from '../winforms/ControlView.vue'
|
||||
import { displayText, fontCss, type FontValue } from '../winforms/format'
|
||||
import { CONTROLS, type ControlDef, FORM_DEF, controlDef, isContainerType } from './catalog'
|
||||
import { type ChartModel, writeChart } from './chart'
|
||||
import { ensureHandler } from './code'
|
||||
import { type DesignerDocument, DesignerParseError, generateDesigner, parseDesigner } from './document'
|
||||
import {
|
||||
@@ -350,6 +351,11 @@ function onSetItems(target: string, items: string[]) {
|
||||
if (d) commit(setItems(d, target, items))
|
||||
}
|
||||
|
||||
function onSetChart(target: string, model: ChartModel) {
|
||||
const d = parsed.value.doc
|
||||
if (d) commit(writeChart(d, target, model))
|
||||
}
|
||||
|
||||
function onRename(from: string, to: string) {
|
||||
const d = parsed.value.doc
|
||||
if (!d) return
|
||||
@@ -505,6 +511,7 @@ const noop = () => {}
|
||||
@open-event="openEvent"
|
||||
@clear-event="clearEvent"
|
||||
@add-resource="emit('addResource')"
|
||||
@set-chart="onSetChart"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in new issue
Block a user