Vag*_*lov 3 xaml listview scrollbar microsoft-metro windows-8
我在Windows Store(又名Metro)app XAML中没有经验,所以也许我忽略了一些简单的东西,但根据书籍和样本,垂直滚动条是ListView控件的自然部分,除非明确禁用,否则会出现在那里是ListView中不可见的项目.
但在我的应用程序的情况下.我有一个典型的列表/详细信息页面,左侧窗格中有项目 - 它们在右窗格中显示正常,带有滚动条和选定的项目详细信息.所选项目包含一个子项目集合,它们应该与滚动条一起显示,以防有很多子项目.我有一个简单的ListView定义:
<ListView
x:Name="itemCollection"
Grid.ColumnSpan="1"
SelectionChanged="ItemListView_SelectionChanged"
ItemsSource="{Binding Elements}"
ItemTemplate="{StaticResource Custom80ItemTemplate}" />
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我从来没有看到这个列表的滚动条.只有当我明确地将其模式设置为"可见"时,我才能看到滚动条,但没有任何内容可以滚动它!
显然程序认为整个列表是可见的所以滚动条是不必要的,但是什么可以使它做出这样的判断呢?
我终于解决了这个问题.由于大多数此类问题,错误很愚蠢:拥有此ListView的Grid控件有一个额外的(错误的)行定义,其高度属性标有星号,即占用所有剩余空间.但是ListView使用的行的高度标记为"自动",因此它扩展到其项目的整个大小,并且从未激活其垂直滚动条.
| 归档时间: |
|
| 查看次数: |
3187 次 |
| 最近记录: |