3

私は Windows ストア (別名 Metro) アプリ XAML の経験がないため、単純なものを見落としている可能性がありますが、本やサンプルによると、垂直スクロールバーは ListView コントロールの自然な部分であり、明示的に無効にしない限り、そこにあるときに表示されます。 ListView では非表示のアイテムです。

しかし、私のアプリの場合はオンです。左ペインにアイテムを含む典型的なリスト/詳細ページがあります。右ペインには、スクロールバーと選択されたアイテムの詳細が表示されます。選択されたアイテムにはサブアイテムのコレクションが含まれており、それらが多数ある場合はスクロールバーで表示されるはずです。私は単純な ListView 定義を持っています:

            <ListView 
            x:Name="itemCollection"
            Grid.ColumnSpan="1" 
            SelectionChanged="ItemListView_SelectionChanged"
            ItemsSource="{Binding Elements}" 
            ItemTemplate="{StaticResource Custom80ItemTemplate}" />

奇妙なことに、このリストのスクロールバーが表示されません。モードを明示的に「表示」に設定した場合にのみ、スクロールバーが表示されますが、スクロールするものはありません!

明らかに、プログラムはリスト全体が表示されていると考えているため、スクロール バーは不要ですが、そのような判断を下すにはどうすればよいでしょうか?

4

2 に答える 2

5

私はついに問題を解決しました。このような問題のほとんどと同じように、エラーはばかげています。この ListView を所有する Grid コントロールには、アスタリスクでマークされた Height プロパティを持つ余分な (間違った) 行定義がありました。つまり、残りのスペースをすべて使用していました。しかし、ListView が使用していた行には、Height が "Auto" としてマークされていたため、アイテムのサイズ全体に拡大され、垂直スクロール バーがアクティブになりませんでした。

于 2012-10-02T12:16:36.423 に答える
0

可視性を自動に設定してみてください。

于 2012-10-02T00:56:40.597 に答える