【WitchHat.cn心得】WidgetContainer設計中的莫名Bug

Widgets的整體思想參考的《ASP.net 3.5構建Web2.0門戶站點》。Witchhat是用Silverlight實現的。

最初WidgetContainer的結構是

<!-- Header -->

<Grid>...</Grid>
<!-- Set Area -->
<StackPanel x:Name="spSetWidget" Height="85" Visibility="Collapsed">
</StackPanel>
<!-- Content Area -->
<StackPanel x:Name="spContent" Height="260" Margin="0" Background="Transparent">
</StackPanel>
摺疊/打開的代碼是操作spSetWidget和spContent的可見性,當前是處於摺疊狀態,還是打開狀態,是通過spContent的可見性判斷的,但是,摺疊後再打開一直導致spContent中的ListBox綁定的數據消失--其實也不是真消失了,Debug時能看到ListBox的數據數沒變,但界面中就是一片空白…… 囧

此莫名Bug打發現後就沒搞定過……

 

今天想到,讓Widget摺疊時縮上去而不是直接設置可見性,興許能解決這個Bug。於是更改如下,將spSetWidget和spContent放到了一個StackPanel中:

<StackPanel x:Name="spWC" Height="auto">
<!-- Set Area -->
<StackPanel x:Name="spSetWidget" Height="85" Visibility="Collapsed">
</StackPanel>
<!-- Content Area -->
<StackPanel x:Name="spContent" Height="260" Margin="0" Background="Transparent">
</StackPanel>
</StackPanel>

當前是處於摺疊狀態,還是打開狀態,通過spWC的可見性進行判斷。加完這點代碼,就想先試試直接設置spWC的可見性,看看咋樣,結果還真搞定了 o(╯□╰)o

 

仍然不明白到底是啥原因……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章