2011-10-22 51 views
2

作爲Silverlight的新手,我正努力嘗試以下內容。Silverlight(wp7)

基本上我想創建一些形式的網格像控制(自定義或用戶?)。

這個想法與計劃者的想法相似。沿着頂部是時間(設定間隔)。向下是主題。然後像背景矩形(或其他東西)一樣表示主題計劃的時間。

以上的實際設計不是問題。即覆蓋有矩形的網格。但我的問題是我希望這個網格上下滾動(當主題行開始和結束時,邊界固定頂部和底部)。並且網格左右滾動(邊界固定左右滾動的距離,當前時間爲&)。

基於上述需求,我不希望創建一個非常大的控件,只是拖到視圖中(除非這是唯一的方式?),而是在當前時間顯示網格並拖動時動態加載接下來的幾小時內容,可能有幾個小時的緩衝區。

我在尋找的外表是它看起來像是一個巨大的控制,但它真的不是它的動態。

這是否有意義?我什麼都不擔心?我應該在未來創建一個大型網格,然後在頂部動態處理數據加載?如果我想在未來3個月內使用電網,這只是我的擔憂,這將會是巨大的浪費內存。

我努力在網上找到例子,但覺得這可能與我不知道要搜索什麼。這不是要得到一個詳細的答案,而是有人爲我做這件事,而不是指導我指向正確的方向。

非常感謝

回答

1

關於上下滾動:你可以簡單地把包含ScrollViewer控件數據網格 - 這將處理所有的滾動你。另一種解決方案是使用列表框控件 - 如果使用MVVM,這會更好。您可以將其綁定到數據源並將其設置爲數據模板的自定義控件。

用於左右滾動。我在想你可以用這個手勢。像 - 從左到右和從右到左輕拂,並根據手勢的方向更改網格/列表框中的數據。你也可以在網格的頂部放置兩個按鈕來處理從一天到另一天的滾動(就像在日曆控件中:手勢+按鈕一樣)。

+0

我喜歡按照日曆使用手勢和按鈕的想法。我仍然認爲應用程序需要網格像滾動一樣顯示,即使它沒有,也只是它正在移動的數據。這樣可以更容易地看到哪些東西的開始和結束可能跨越數小時。 – Tezza

+0

您也可以使用滾動查看器來處理左右滾動。所有你需要做的就是使'Horizo​​ntalScrollBarVisibility'成爲'Auto'。下面我簡要地演示了它的工作原理。只需將xaml複製到項目的amty頁面中,以替換LayoutRoot網格。 –

+0

代碼太長了,所以我已經做了一個項目,並把它放在我的保管箱中,所以你可以下載它。鏈接:[鏈接](http://dl.dropbox.com/u/20848147/StartDebugging/ScrollingGrid.rar) –