C# 如何知道我何时到达终点

C# 如何知道我何时到达终点,c#,wpf,xaml,scrollviewer,repeatbutton,C#,Wpf,Xaml,Scrollviewer,Repeatbutton,我有一个使用模板的触摸屏wpf应用程序,我需要知道当我在使用scrollviewer和重复按钮的列表末尾时,我需要有一个C代码的钩子。我尝试了很多不同的东西。我对wpf是新手,但什么都不起作用。我想我需要附加到setter的折叠值。下面是我试图将钩子放入的代码段 <Grid DockPanel.Dock="Bottom" HorizontalAlignment="Stretch" Background="LightCyan" > <Grid.ColumnDefiniti

我有一个使用模板的触摸屏wpf应用程序,我需要知道当我在使用scrollviewer和重复按钮的列表末尾时,我需要有一个C代码的钩子。我尝试了很多不同的东西。我对wpf是新手,但什么都不起作用。我想我需要附加到setter的折叠值。下面是我试图将钩子放入的代码段

<Grid DockPanel.Dock="Bottom" HorizontalAlignment="Stretch" Background="LightCyan" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="50*"/>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="50*"/>               
    </Grid.ColumnDefinitions>
        <Grid.Style>
        <Style TargetType="{x:Type Grid}" >
            <Setter Property="Visibility" Value="Visible"></Setter>
            <Style.Triggers>
                <DataTrigger Value="True">
                    <DataTrigger.Binding>
                        <MultiBinding Converter="{StaticResource areValuesGreaterThanOrEqual}">
                            <Binding ElementName="scrollviewer" Path="VerticalOffset"></Binding>
                            <Binding ElementName="scrollviewer" Path="ScrollableHeight"></Binding>
                        </MultiBinding>                                    
                    </DataTrigger.Binding>
                    <Setter Property="Visibility" Value="Collapsed"></Setter>                              
                </DataTrigger>
            </Style.Triggers>                        
        </Style>
    </Grid.Style>

    <Button x:Name="EndNavigation"
        VerticalAlignment="Center" Content="END" HorizontalAlignment="Right" Grid.Column="0"
        Command="{x:Static ScrollBar.ScrollToBottomCommand}" Margin="5 0 5 0"  
        Style="{StaticResource NavigationBlueButtonStyle}" 
        CommandTarget="{Binding ElementName=scrollviewer}">
    </Button>


    <RepeatButton x:Name="LineDownButton" Width="250" HorizontalAlignment="Center" Grid.Column="1"
        VerticalAlignment="Center" 
        Template="{StaticResource downArrowInBox}"
        Command="{x:Static ScrollBar.LineDownCommand}"      
        CommandTarget="{Binding ElementName=scrollviewer}">
    </RepeatButton>

    <RepeatButton x:Name="PageDownButton" Margin="5 0 0 0" VerticalAlignment="Center" Grid.Column="2"
        HorizontalAlignment="Left" Content="PAGE DOWN"
        Style="{StaticResource NavigationBlueRepeatButtonStyle}" 
        Command="{x:Static ScrollBar.PageDownCommand}"      
        CommandTarget="{Binding ElementName=scrollviewer}">              
    </RepeatButton>
</Grid>

我想你必须在暗藏中做点什么。从技术上讲,您必须访问垂直滚动条,它具有值和最大属性,因此您可以检查它是否到达末尾。要使用触发器,它必须监听内部垂直滚动条的值并与最大值进行比较,可能需要一些转换器。我不得不说,在这种情况下,拥有一个纯XAML解决方案并不容易。谢谢您的评论。我想这就是我真正想问的,我如何才能做到这一点。我在网上找到了几种不同的解决方案,但因为这些控件是按编写方式编写的,所以它们都不起作用。我想如果我能找到代码,我应该能够使用最大值来做我需要做的事情。