2011-09-05 100 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