2012-04-17 39 views
0

我正在打造我自己的繪圖庫,但我遇到了問題。我有下面的代碼把我的折線的WindowsPhone的頁面上:在所有東西上放置折線

System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => 
{ 
    graph.AddSinglePoint(x); 
    graph.Update(); 
    LayoutRoot.UpdateLayout(); 
}); 

LayoutRoot.Children.Add(graph.line); 

(其在一開始調用,因爲我做這timer_tick虛空當中由定時器超時稱爲內(毫秒)

唯一的問題是,當我想讓我的圖形在窗體上的位置更低時(例如y = 300 +實際的Y值),它將表單上的所有內容壓低了300.我想到的是以下內容:

佈局:頁面標題

一些填充(列表框,複選框等)

在底部:My圖表(折線)

如何acomplish類似的東西?

回答

2

如果使用GridLayoutRoot你必須設置你的圖表的行和列:

Grid.SetRow(graph,2); 
    Grid.SetColumn(graph,...); 

我個人會採取不同的方式,並使用單獨的控制我的圖表,例如Canvas,使佈局是這樣的:

Layout: Page Title 
Some filling (listboxes, checkboxes, etc) 
At the bottom: Canvas 

然後將圖形添加到畫布上,而不是LayoutRoot的。您可以通過依賴屬性TopLeft通過絕對座標將控件定位在Canvas中。

2

您需要了解Silverlight Layout System,屏幕上每個元素的位置取決於它所在的面板。一些面板(如StackPanel)將他們的每個孩子「堆疊」,以便兩個項目不能重疊。而其他人喜歡GridCanvas允許重疊。

+0

感謝您的快速回復。我已經實施了pivotnig的方法,並且工作正常。 – 2012-04-17 08:25:41

相關問題