2011-09-05 69 views
1

我试图绘制图表,并且被困在设计问题上。在图表-I类定义要被绘制的区域的形状为矩形:将矩形位置绑定到另一个矩形

class Chart 
{ 
    // ... 
    public Rectangle drawArea; 

    public void addAxisDesc(AxisDescription desc) 
    { 
     // ... add left Y-axis 
     // set the axis x-starting position to the start point of the drawing area 
     desc.shape.X = drawArea.X; 
    }   
} 

图表级具有添加一些轴线的描述中,其形状也由矩形定义的能力。

我的目标是保持desc.shape.X和drawArea.X的值相同。所以如果drawArea.X改变了,desc.shape.X也应该被修改。

我有几个想法如何解决这个问题,但没有人似乎真的对我好:

  • 注册的事件处理程序,并修改轴值,如果drawArea的值更改
  • 套装所有相对于父元素的位置并仅在渲染时获得绝对位置

有没有人知道如何解决这个问题,或者可以如何避免这个问题呢?

+0

desc是Chart类的私有字段? – sll

+1

不,它看起来像方法的参数 – WaltiD

+0

大声笑..谢谢指向这 – sll

回答

1

我建议你去事件的方法。这与WPF用于数据绑定的方法相同。甚至还有一个用于此目的的界面:INotifyPropertyChanged

+0

谢谢,但我现在决定“递归”的方法,其中子元素相对于其父母的位置。对我来说,WPF方式似乎很沉重...... – Benny

相关问题