2011-11-21 23 views
0

我正在使用預填充的SQLCE數據庫的WP7應用程序。因此我使用了很多數據綁定控件。現在我有點麻煩了。爲了保持簡短:我需要訪問數據綁定列表框的最後一個ListBoxItem(而不是業務對象),並更改一些屬性,如最後一個項目的邊距。 我是不是能夠通過使用VisualTreeHelper類的方法,也沒有使用類似訪問最後一個數據綁定ListBoxItem

(myListBox.Items.Last() as ListBoxItem).Margin = new Thickness(0, 0, 0, 0); 

得到這個項目,因爲myListBox.Items似乎是空(!?)

有一些黑魔法繼續,那麼有一個簡單的方法嗎? 提前謝謝!

回答

1

與其直接在代碼中嘗試和操縱用戶界面,爲什麼不只是修改數據綁定到列表的內容並添加屬性以指示它是否是最後一個。 YOu然後可以在DataTemplate中使用該屬性來控制它應該如何顯示。

+0

好吧,明白了。這工作!但最終它也是一個有約束力的問題。我的列表框沒有足夠的時間來填充。謝謝! – Storsen

1

您是否試圖通過ItemContainerGenerator訪問ListBoxItem

((ListBoxItem)myListBox.ItemContainerGenerator.ContainerFromIndex(myListBox.Items.Count-1)).Margin = new Thickness(42, 0, 0, 0); 

這應該有效。否則,你的綁定有什麼問題。

+0

嘗試過,仍NullReferenceException ... myListBox.Items爲空,所以myListBox.Items.Count-1不會給我任何結果。我會檢查綁定問題,謝謝! – Storsen

+0

我有一個NullReferenceException與您的代碼與項目!= null - 認爲這是你打的。好追捕:) –

相關問題