我有一個WrapPanel
其中將包含幾個不同的自定義UserControls
。根據情況,我可能需要篩選哪些UserControls
可見。我的目標是通過顯示/隱藏需要過濾的控件 - 從而將剩下顯示的控件移動到面板的左上角,我可以切換哪些控件可以實時顯示。隱藏WrapPanel內的對象/用戶控件?
現在我只是簡單地將Visibility
控件的屬性設置爲Visibility.Collapsed
,當我不希望它們出現時。我認爲,因爲我使用的是WrapPanel
,其餘的控件將轉移到面板的左上角。
相反,隱藏一些UserControls
的,該控件是仍然可見逗留正是他們面前,我留下仍在顯示控件之間的差距後。我打開我的應用程序在Silverlight中間諜,它表明了UserControls
實際上仍然存在(這是有道理的),但僅僅是無形的。
所以我的問題是: 有沒有一種方法,我可以顯示/隱藏UserControls
一個WrapPanel
允許仍可見UserControls
滑動到其新位置(所有逐步轉向左上方內 - 類似到StackPanel
)?
我辯論從WrapPanel
取出UserControls
完全(我認爲這會工作),並將它們存儲在內存中,直至需要它們。然後,如果我想顯示/隱藏其他控件,我會從我的內存對象中獲取它們。似乎應該有更好的方法來做到這一點。
如果任何人有任何建議或意見,將不勝感激。謝謝!
-Lloyd
UPDATE:
XAML:(非常簡單)
<toolkit:WrapPanel x:Name="MyLayout" Height="300" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" />
代碼隱藏:越來越動態地添加的用戶控件:
MyLayout.Children.Add(oUserControl)
而且他們越來越設置爲動態倒塌以及:
oUserControl.Visibility = Visibility.Collapsed
將可見性設置爲摺疊應該可以工作(並且對我有用)。對我而言,將可見性設置爲隱藏可以證明您在上面遇到的情況。你可以發佈一些xaml嗎? – wdavo 2012-03-05 23:01:09
@wdavo查看更新 – lhan 2012-03-06 14:16:15
關於爲什麼ScrollViewer會影響到的任何想法? – lhan 2012-03-06 18:39:03