2016-06-24 9 views
0

水平と垂直にスクロールするUWPでgridviewを作成することは可能ですか?C#UWP XAMLは双方向スクロールグリッドビューを作成することが可能です

+1

これはスクロールビューアを持っています。それが簡単な場合は別のスクロールビューアに埋め込むこともできます。 –

+0

OK、多分私は十分に明確ではなかった。 :)私は同時に双方向のスクロールが必要です。私はGridを使ってスクロールし、フィールドをプログラムで描画することができましたが、それは遅いです。 – DKDEV

答えて

0

あなたは直接このようGridViewScrollViewerにアクセスすることができます。UWPで

<GridView ScrollViewer.HorizontalScrollBarVisibility="Auto" 
      ScrollViewer.HorizontalScrollMode="Auto" 
      ScrollViewer.VerticalScrollBarVisibility="Auto" 
      ScrollViewer.VerticalScrollMode="Auto"> 
    <Rectangle Height="200" Width="200" Fill="SteelBlue"/> 
    <Rectangle Height="200" Width="200" Fill="SteelBlue"/> 
    <Rectangle Height="200" Width="200" Fill="SteelBlue"/> 
    <Rectangle Height="200" Width="200" Fill="SteelBlue"/> 
    <Rectangle Height="200" Width="200" Fill="SteelBlue"/> 
</GridView> 
0

うんpossible.But HorizontalScrollModeは、多くのコントロールのためにDisabledです。したがって、使用するコントロールのスタイルを作成し、セッターをHorizontalScrollModeからEnabledにすることができます。 GridViewの場合は、次のようになります。

<Style x:Key="ShapesButtonGridViewStyle" TargetType="GridView"> 
     <Setter Property="Padding" Value="0,0,0,10"/> 
     <Setter Property="IsTabStop" Value="False"/> 
     <Setter Property="TabNavigation" Value="Once"/> 
     <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/> 
     <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> 
     <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled"/> 
     <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="False"/> 
     <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled"/> 
     <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True"/> 
     <Setter Property="ScrollViewer.ZoomMode" Value="Disabled"/> 
     <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/> 
     <Setter Property="ScrollViewer.BringIntoViewOnFocusChange" Value="True"/> 
     <Setter Property="IsSwipeEnabled" Value="True"/> 
     <Setter Property="ItemContainerTransitions"> 
      <Setter.Value> 
       <TransitionCollection> 
        <AddDeleteThemeTransition/> 
        <ContentThemeTransition/> 
        <ReorderThemeTransition/> 
        <EntranceThemeTransition IsStaggeringEnabled="False"/> 
       </TransitionCollection> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="ItemsPanel"> 
      <Setter.Value> 
       <ItemsPanelTemplate> 
        <ItemsWrapGrid Orientation="Horizontal"/> 
       </ItemsPanelTemplate> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="GridView"> 
        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"> 
         <ScrollViewer x:Name="ScrollViewer" AutomationProperties.AccessibilityView="Raw" BringIntoViewOnFocusChange="{TemplateBinding ScrollViewer.BringIntoViewOnFocusChange}" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsHorizontalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsHorizontalScrollChainingEnabled}" IsVerticalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsVerticalScrollChainingEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" TabNavigation="{TemplateBinding TabNavigation}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"> 
          <ItemsPresenter FooterTransitions="{TemplateBinding FooterTransitions}" FooterTemplate="{TemplateBinding FooterTemplate}" Footer="{TemplateBinding Footer}" HeaderTemplate="{TemplateBinding HeaderTemplate}" Header="{TemplateBinding Header}" HeaderTransitions="{TemplateBinding HeaderTransitions}" Padding="{TemplateBinding Padding}"/> 
         </ScrollViewer> 
        </Border> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
関連する問題