0
WPF 4.5/C#如何在WPF ContentControl中查找ScrollViewer?
我有一个应用程序,我有几个WPF Windows每个利用此自定义内容控件。我用它在XAML这样的:
<ContentControl Name="myControl" Style="{StaticResource ReservedSpaceScrollBar}"
在后面的代码,我需要能够访问的ScrollViewer里面,所以我可以调用.ScrollToTop()
我试过这个,但它不起作用:
((ScrollViewer)this.myControl.FindName(“Scroll”))。ScrollToTop();
...但.FindName找不到ScrollViewer。我究竟做错了什么?如何使这项工作?
的XAML的样式低于...
<Style TargetType="{x:Type ContentControl}" x:Key="ReservedSpaceScrollBar">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContentControl}">
<ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" x:Name="Scroll" FocusVisualStyle="{x:Null}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter />
<Border Width="{x:Static SystemParameters.VerticalScrollBarWidth}" x:Name="Placeholder" Grid.Column="1" />
</Grid>
</ScrollViewer>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding ComputedVerticalScrollBarVisibility, ElementName=Scroll}" Value="Visible">
<Setter TargetName="Placeholder" Property="Visibility" Value="Collapsed" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这很好。谢谢! – Joey 2015-03-19 22:48:39