2017-02-02 6 views
1

私はリストビューを含むWinRTアプリケーションで作業しています。リストビューは最近成長し、私はそれの周りに垂直スクロールバーを配置する必要があります。 これまでのところ、グリッドの高さを500にハードコードしました。 しかし、どれくらいのスペースがあるかを検出するために高さを設定する方法を知りたいと思います。これは、使用されているデバイスによって異なる場合があります。それ、どうやったら出来るの?ListViewのスクロール - 画面の高さの検出が必要

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="500"/> 
    </Grid.RowDefinitions> 

    <StackPanel Grid.Row="0" Orientation="Horizontal"> 
     <TextBlock Text="*" FontSize="40" FontWeight="Bold" Foreground="Red"/> 
     <TextBlock Text=" = Required " FontSize="20"/> 
    </StackPanel> 
    <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" > 
    <ListView 
     ItemsSource="{Binding Path=Survey.SelectedSection.Questions, Mode=TwoWay}" 
     IsSwipeEnabled="False" 
     SelectionMode="None" 
     Background="White" 
     ItemTemplateSelector="{StaticResource ResourceKey=QuestionDisplay}" 
     ItemContainerStyle= 
      "{StaticResource ResourceKey=QuestionListViewItemContainerStyle}" /> 
    </ScrollViewer> 
</Grid> 
+1

ListViewにはすでにScrollViewerがテンプレートに埋め込まれています。親のScrollViewerを取り除いて、2行目の高さを 'Height =" * "'に設定すると、デフォルトで 'Auto'に設定されているので起動します。 –

+1

ScrollViewer.VerticalScrollBarVisibilityはデフォルトでは自動です。それがスクロールを呼び出さないなら、私の次の質問はStackPanelのように、このグリッドが子である親コンテナですか?そのようなこともスクロールを呼び出さないようにするためです。 –

+0

あなたは正しいです。スタックパネルの親がいましたが、今ではそれを取り除きました。それではありがとうございます。 – arame3333

答えて

1

だから私が議論したように。 ListViewは、そのテンプレートに埋め込まれたScrollViewer alreadを持っています。自然にではなく固定高さでスクロールを呼び出す理由は、それを呼び出すための固定された境界が提供されたからです。それは、親パネル(と親木まで)だように、あなたのレイアウトを調整することにより

はスター*が、それは必要に応じて、境界がそれを呼び出すことが許さサイズでStackPanel、代わりにGridを使用して含まれていませんでした。その理由は、StackPanelは、使用可能なスペースに関係なく、必要なスペースのみを消費するためです。 Gridは、添付されたプロパティがScrollViewer.VerticalScrollBarVisibilityである埋め込み型ScrollViewerのスクロールを呼び出すのに必要な境界を提供するレイアウトを子どもに制限しながら、提供されるスペースを消費します。Auto

XAMLの素晴らしい世界を歓迎してくれたことをうれしく思います。一度使い慣れたら、いとこのHTMLよりも簡単に作業できます。乾杯!

+0

非常に冗長なようですが、おそらくXAMLについては正しいでしょう。私は長い間ウェブ開発を続けてきたので、XAMLを好む前に思っていました。 – arame3333

+0

Ya私は毎日エンタープライズレベルで仕事をしていますが、XAML> HTML wpf、uwpなどのプラットフォームによって提供されるすべての追加機能に含まれている場合を除いて、私はあなたが本当に両方に深く掘り下げられるまでそれが親しみ投票になる方法を知っています。 –

関連する問題