ScrollViewer는 콘텐츠 오버플로가있을 때 ScrollViewer를 사용하여 숨겨진 뷰를 표시 할 수 있기 때문에 WrapPanel과 협조하기에 좋은 재료입니다. 현재 프로젝트에서 컨테이너로 WrapPanel, 숨겨진 부분을 표시하는 구성 요소로 ScrollViewer를 사용했습니다. 하지만 이제는 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>
을, 나는 내 코드를 많이 확인했지만 이유는 원인을 찾을 수 없습니다 이. 누구든지 도울 수 있니?
어떤 종류의 오류가 있습니까? –
@ChrisW. 아니요, 오류가 없습니다. – CharlieShi