【发布时间】:2010-03-31 13:04:39
【问题描述】:
我正在尝试在 WPF 中创建一个时间跟踪应用程序。用户应该在画布上绘制代表时间跨度(时间跨度 = 条形)的元素。 现在,现有条在数据绑定到集合时会被添加(每个集合项都包含条在 Canvas 上的宽度和左侧位置)。
“条形”用户控件有一个名为“ProjectProperty”的依赖属性,负责在画布上绘制和定位条形。
但是当用户在 Canvas 上绘制一个新栏时需要发生什么?它必须以某种方式进行数据绑定,但这需要在什么时间点发生,我该怎么做?
我了解 Canvas 上的每个“条形”用户控件都是数据绑定的,仅仅是因为它们已经存在于数据源中。
假设用户在 mousedown 上开始绘制栏并在 mouseup 上完成,我是否必须以编程方式将其左侧位置和宽度添加到绑定的数据源?如果不是,那么数据源将如何更新?
谢谢!
【问题讨论】:
-
你能展示你的 XAML 和数据结构吗?我不确定您所说的向数据源“添加”左侧位置和宽度是什么意思。还是您的意思是“设置”?如果绑定是在 XAML 中定义的,那么您只需将新的 Bar Control 添加到源集合中即可。
标签: c# .net wpf binding dependency-properties