2014-11-21 2 views
0

새 kinect 버전이 존재하지 않아 이전 kinectScrollviewer가 없으므로 ListView와 함께 ScrollViewer를 사용했습니다. 문제는 스크롤 할 수없는 ScrollbarVisibility 또는 가로 스크롤이있는 경우입니다. SelectionChanged를 사용하면 마우스가 제대로 작동하지만, 처음 클릭하면 선택 영역이 사라지지 않아 손짓을 사용하면 요소가 선택되지 않습니다. 가로 스크롤 만 (그래서 내가 수직 비활성화) 코드를 사용하여 제스처와 스크롤하지 않습니다. 또한 클릭이 작동하지 않습니다. 내가 방향을 사용하는 경우 는 = "수직"그것은 (예에서이 설정을 사용하여 수평 스크롤 있지만)하지만 난 방향을 사용하는 경우 = "수평"작동하지 않는 :(스크롤 수직WrapPanel 가로 방향이 작동하지 않습니다.

<k:KinectRegion x:Name="ChoiceExercise" Background="Black" > 
      <DockPanel> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
        <k:KinectUserViewer Grid.Row="0" Height="100"/> 
        <ContentControl Grid.Row="1" x:Name="navigationRegion"> 
         <Grid x:Name="kinectGrid"> 
          <ScrollViewer Grid.Row="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" k:KinectRegion.IsScrollInertiaEnabled="True"> 
           <ListView Grid.Row="0" x:Name="listViewExercise" SelectionChanged="listViewExercise_SelectionChanged" BorderThickness="0" Background="Black" > 
            <ListView.ItemsPanel> 
             <ItemsPanelTemplate> 
              <WrapPanel VerticalAlignment="Center" Orientation="Horizontal" /> 
             </ItemsPanelTemplate> 
            </ListView.ItemsPanel> 
           </ListView> 
          </ScrollViewer> 
         </Grid> 
        </ContentControl> 
       </Grid> 
      </DockPanel> 
     </k:KinectRegion> 

답변

0

ListView 이미 포함입니다 기본 템플릿의 일환으로 ScrollViewer 그것은 당신이 수평 방향으로도 Disabled

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <k:KinectUserViewer Grid.Row="0" Height="100"/> 
    <ContentControl Grid.Row="1" x:Name="navigationRegion"> 
     <Grid x:Name="kinectGrid"> 
     <ListView 
      Grid.Row="0" 
      ScrollViewer.VerticalScrollBarVisibility="Disabled" 
      x:Name="listViewExercise" 
      SelectionChanged="listViewExercise_SelectionChanged" 
      BorderThickness="0" 
      Background="Black" > 
      <ListView.ItemsPanel> 
       <ItemsPanelTemplate> 
        <WrapPanel VerticalAlignment="Center" Orientation="Horizontal" /> 
       </ItemsPanelTemplate> 
      </ListView.ItemsPanel> 
     </ListView> 
     </Grid> 
    </ContentControl> 
</Grid> 

WrapPanel에 부착 ScrollViewer.VerticalScrollBarVisibility 속성을 설정하여 중지해야이 문제의이 항목이 맞지 않을 수 수평 때까지 항목을 쌓아 의미 다음 행으로 이동하십시오. 수평으로 스크롤하려면 가로 StackPanel이 적합 할 것이라고 생각합니다.

<ItemsPanelTemplate> 
    <StackPanel Orientation="Horizontal"/> 
</ItemsPanelTemplate> 
+0

이제 완벽한 가로 스크롤이 작동합니다. [tag : StackPanel]을 사용하는 경우 스크롤은 단계이며 흐르는 것은 아닙니다. 마우스 클릭으로 작동하지 않는다고 판단하여 손으로 클릭 한 경우? – luca

+2

실제 단위로 스크롤하고 싶다면'ListView'에 대해서도'ScrollViewer.CanContentScroll = "false"를 설정해보십시오. – dkozl

+0

ListView에서도 괜찮습니다. 이제 클릭 문제를 해결하려고 – luca

관련 문제