2014-10-17 40 views
0

ScrollViewer與WrapPanel合作是一件好事,因爲當內容溢出時,我們可以使用ScrollViewer顯示隱藏的內容。 在我當前的項目中,我使用WrapPanel作爲容器,ScrollViewer作爲組件來顯示隱藏的部分。但現在我遇到問題時設置樣式滾動查看器,問題是:但是我設置樣式scrollviewer,它不會改變一點。這裏是風格:無法將樣式應用於Silverlight中的ScrollViewer

<Style x:Key="CustomScrollViewerStyle" TargetType="ScrollViewer"> 
    <Setter Property="Padding" Value="4"/> 
    <Setter Property="BorderThickness" Value="1"/> 
    <Setter Property="BorderBrush"> 
     <Setter.Value> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#FFA3AEB9" Offset="0"/> 
       <GradientStop Color="#FF8399A9" Offset="0.375"/> 
       <GradientStop Color="#FF718597" Offset="0.375"/> 
       <GradientStop Color="#FF617584" Offset="1"/> 
      </LinearGradientBrush> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ScrollViewer"> 
       <Border BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}" 
        CornerRadius="2"> 
        <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" 
          Cursor="{TemplateBinding Cursor}" 
          ContentTemplate="{TemplateBinding ContentTemplate}" 
          Margin="{TemplateBinding Padding}"/> 
         <Rectangle Grid.Column="1" Fill="#FFE9EEF4" 
          Grid.Row="1"/> 
         <ScrollBar x:Name="VerticalScrollBar" 
          Grid.Column="1" 
          IsTabStop="False" 
          Maximum="{TemplateBinding ScrollableHeight}" 
          Margin="0,-1,-1,-1" 
          Minimum="0" 
          Orientation="Vertical" 
          Grid.Row="0" 
          Visibility="{TemplateBinding 
           ComputedVerticalScrollBarVisibility}" 
          Value="{TemplateBinding VerticalOffset}" 
          ViewportSize="{TemplateBinding ViewportHeight}" 
          Width="18"/> 
         <ScrollBar x:Name="HorizontalScrollBar" 
          Grid.Column="0" 
          Height="18" 
          IsTabStop="False" 
          Maximum="{TemplateBinding ScrollableWidth}" 
          Margin="-1,0,-1,-1" 
          Minimum="0" 
          Orientation="Horizontal" 
          Grid.Row="1" 
          Visibility="{TemplateBinding 
           ComputedHorizontalScrollBarVisibility}" 
          Value="{TemplateBinding HorizontalOffset}" 
          ViewportSize="{TemplateBinding ViewportWidth}"/> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

這裏是我應用該樣式的地方:

<ScrollViewer Grid.Column="0" x:Name="sclViewer" 
    Style="{StaticResource CustomScrollViewerStyle}" 
    VerticalScrollBarVisibility="Auto" BorderThickness="0"> 
    <toolkit:WrapPanel 
     Width="{Binding ElementName=sclViewer, Path=Width, Mode=OneWay}"> 
     <uc:UserCPage x:Name="commonUC1" Title="test" VerticalAlignment="Top"/> 
    </toolkit:WrapPanel> 
</ScrollViewer> 

我是新來的Silverlight,我檢查了我的代碼很多,但找不到原因,什麼原因引起這個。任何人都可以幫忙

+1

你有任何類型的錯誤或任何? – 2014-10-17 13:57:40

+0

@ChrisW。不,沒有發現錯誤。 – CharlieShi 2014-10-18 02:13:27

回答

0

最後,我通過使用Silverlight間諜解決了這個問題,你可以谷歌它。 我使用這個工具來反映我的應用程序,並獲得了scrollviewer的所有結構,我複製了xaml結構並更改了一些樣式,然後將其製作到資源字典中,最後對我來說一切正常。

相關問題