2012-05-15 9 views

답변

3

내가 윈도우 8 소비자의 컨트롤에 버그가있을 수 있습니다 생각 어떤 도움을 사용할 수

감사입니다 미리보기, 다음은 일반적으로 작업을해야하기 때문에 :

<ScrollViewer 
    Style="{StaticResource VerticalScrollViewerStyle}" 
    VerticalScrollBarVisibility="Visible" 
    Template="{StaticResource ScrollViewerControlTemplate1}"> 

을 해결 방법으로 당신이에서 ScrollViewer의 템플릿을 수정할 수 있습니다

... 일부 ResourceDictionary의 다른 곳 - "NoIndicator"VisualState가 제거 된 수정 된 표준 ScrollViewer 템플릿.

혼합에서
<ControlTemplate 
     x:Key="ScrollViewerControlTemplate1" 
     TargetType="ScrollViewer"> 
     <Border 
      BorderBrush="{TemplateBinding BorderBrush}" 
      BorderThickness="{TemplateBinding BorderThickness}"> 
      <VisualStateManager.VisualStateGroups> 
       <VisualStateGroup 
        x:Name="ScrollingIndicatorStates"> 
        <VisualState 
         x:Name="TouchIndicator"> 
         <Storyboard> 
          <FadeOutThemeAnimation 
           TargetName="ScrollBarSeparator" /> 
          <ObjectAnimationUsingKeyFrames 
           Storyboard.TargetName="VerticalScrollBar" 
           Storyboard.TargetProperty="IndicatorMode" 
           Duration="0"> 
           <DiscreteObjectKeyFrame 
            KeyTime="0"> 
            <DiscreteObjectKeyFrame.Value> 
             <ScrollingIndicatorMode>TouchIndicator</ScrollingIndicatorMode> 
            </DiscreteObjectKeyFrame.Value> 
           </DiscreteObjectKeyFrame> 
          </ObjectAnimationUsingKeyFrames> 
          <ObjectAnimationUsingKeyFrames 
           Storyboard.TargetName="HorizontalScrollBar" 
           Storyboard.TargetProperty="IndicatorMode" 
           Duration="0"> 
           <DiscreteObjectKeyFrame 
            KeyTime="0"> 
            <DiscreteObjectKeyFrame.Value> 
             <ScrollingIndicatorMode>TouchIndicator</ScrollingIndicatorMode> 
            </DiscreteObjectKeyFrame.Value> 
           </DiscreteObjectKeyFrame> 
          </ObjectAnimationUsingKeyFrames> 
         </Storyboard> 
        </VisualState> 
        <VisualState 
         x:Name="MouseIndicator"> 
         <Storyboard> 
          <FadeInThemeAnimation 
           TargetName="ScrollBarSeparator" /> 
          <ObjectAnimationUsingKeyFrames 
           Storyboard.TargetName="VerticalScrollBar" 
           Storyboard.TargetProperty="IndicatorMode" 
           Duration="0"> 
           <DiscreteObjectKeyFrame 
            KeyTime="0"> 
            <DiscreteObjectKeyFrame.Value> 
             <ScrollingIndicatorMode>MouseIndicator</ScrollingIndicatorMode> 
            </DiscreteObjectKeyFrame.Value> 
           </DiscreteObjectKeyFrame> 
          </ObjectAnimationUsingKeyFrames> 
          <ObjectAnimationUsingKeyFrames 
           Storyboard.TargetName="HorizontalScrollBar" 
           Storyboard.TargetProperty="IndicatorMode" 
           Duration="0"> 
           <DiscreteObjectKeyFrame 
            KeyTime="0"> 
            <DiscreteObjectKeyFrame.Value> 
             <ScrollingIndicatorMode>MouseIndicator</ScrollingIndicatorMode> 
            </DiscreteObjectKeyFrame.Value> 
           </DiscreteObjectKeyFrame> 
          </ObjectAnimationUsingKeyFrames> 
         </Storyboard> 
        </VisualState> 
       </VisualStateGroup> 
      </VisualStateManager.VisualStateGroups> 
      <Grid 
       Background="{TemplateBinding Background}"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition 
         Width="*" /> 
        <ColumnDefinition 
         Width="Auto" /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition 
         Height="*" /> 
        <RowDefinition 
         Height="Auto" /> 
       </Grid.RowDefinitions> 
       <ScrollContentPresenter 
        x:Name="ScrollContentPresenter" 
        Grid.RowSpan="2" 
        Grid.ColumnSpan="2" 
        ContentTemplate="{TemplateBinding ContentTemplate}" 
        Margin="{TemplateBinding Padding}" /> 
       <ScrollBar 
        x:Name="VerticalScrollBar" 
        Grid.Column="1" 
        IsTabStop="False" 
        Maximum="{TemplateBinding ScrollableHeight}" 
        Margin="1,0,0,0" 
        Orientation="Vertical" 
        Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" 
        Value="{TemplateBinding VerticalOffset}" 
        ViewportSize="{TemplateBinding ViewportHeight}" 
        HorizontalAlignment="Right" /> 
       <ScrollBar 
        x:Name="HorizontalScrollBar" 
        IsTabStop="False" 
        Maximum="{TemplateBinding ScrollableWidth}" 
        Margin="0,1,0,0" 
        Orientation="Horizontal" 
        Grid.Row="1" 
        Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" 
        Value="{TemplateBinding HorizontalOffset}" 
        ViewportSize="{TemplateBinding ViewportWidth}" /> 
       <Rectangle 
        x:Name="ScrollBarSeparator" 
        Grid.Row="1" 
        Grid.Column="1" 
        Margin="1,1,0,0" 
        StrokeThickness="1" 
        Fill="{StaticResource ScrollBarTrackBrush}" 
        Stroke="{StaticResource ScrollBarTrackBorderBrush}" /> 
      </Grid> 
     </Border> 
    </ControlTemplate> 
+0

어떻게 WP8을 위해 그것을 할 수 있습니까? 그것은'FadeOutThemeAnimation'에 오류를줍니다. –

+0

나는 ScrollViewer의 템플릿을 추출하려고 시도하고, 그 효과를 얻기 위해 수정할 수있는 것이 있는지 확인하려고합니다. 템플리트는 여러 플랫폼에서 호환되지 않습니다. 또는 자체 지시자를 구현할 수도 있습니다. –

0

: 당신은리스트 박스 템플릿의 일부 자체 인 ScrollViewers 템플릿의 일부입니다 VerticalScrollBar의 템플릿을 편집하여 표시 할 수 있습니다.

는, 눈에 보이는에 VerticalScrollBar의 가시성을 설정 한 후 영구적으로 볼 수 불투명 % 100 그것의 설정합니다.

0

HTML/CSS/JavaScript에 상점 앱을 개발 한 경험이 있으며 같은 문제가 발생했습니다.

커서를 옮길 때에도 항상 스크롤 막대를 표시하고 싶었습니다.

나는 CSS에서이 솔루션을 발견 :

div#overflowableDiv{ 
    overflow-y: auto; 
    -ms-overflow-style: scrollbar; 
} 

참조 :http://msdn.microsoft.com/en-us/library/windows/apps/hh441298.aspx

관련 문제