最初,我有一个ListBox与List一起获取Bind,其中包含一个ListBoxItem,其内容将是通过调用IsolatedStorageFile类的GetUserContent属性从Isolated Storage填充的文件名。
现在在一个新的要求中我想放一个Expander,它的标题对应于Isolated Storage中的不同文件夹。当扩展特定扩展器时,我会从相应文件夹中加载隔离存储中的文件名,如“\ data *”(数据文件夹)。
所以任何人都可以在expandderview控件上引导我并填充其列表框项目,并将该特定文件夹的文件名保存在Isolated Storage中。
提前致谢。
答案 0 :(得分:0)
首先关闭 - 您描述的UI不是标准的WP行为。你需要做的是拥有一组群体。
您需要绑定到Groups集合的外部列表框中的ItemsSource:
<LitBox ItemsSource="{Binding Groups}">
接下来,在ItemTemplate
内部,您需要定义展开视图,并将另一个列表框绑定到该组的项目。类似的东西(我不确定您使用的Expander视图,但它可能是这样的):
<ListBox.ItemTemplate>
<whatever:ExpanderView>
<ListBox ItemsSource="{Binding Items}"/>
</whatever:ExpanderView>
</ListBox>
现在,这个坏主意的原因是ListBoxes在同一方向的其他列表框中不能很好地运行。充其量,你会得到时髦的滚动,最糟糕的是你会遇到内存问题,因为系统将无法处理虚拟化。为避免出现某些可能的滚动问题,您还可以使用ItemsControl
作为面板模板放置StackPanel
。这又会导致内存问题,具体取决于您拥有多少项目。
我的建议是你改变你的用户界面。这3个选项中的一个应该对你有好处: