gpt4 book ai didi

c# - ScrollToVerticalOffset() 不起作用?

转载 作者:行者123 更新时间:2023-11-30 13:26:47 24 4
gpt4 key购买 nike

我在 WPF 中使用 ScrollView,我的应用程序允许用户单击一个按钮,然后它会自动滚动 ScrollView ,我在按钮单击事件中使用 ScrollToVerticalOffset(),但 ScrollView 没有任何改变。

我在网上搜索了这个问题,但是目前还不能解决。

还有一个问题:ScrollToVerticalOffset() 以double为参数,它可能会滚动到特殊像素,有什么办法可以滚动到n项(不是像素)?

这是我的代码

<ScrollViewer x:Name="scrollViewerChannelBtns" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center" 
Background="Transparent" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden"
CanContentScroll="True" ScrollChanged="ScrollViewerChannelBtns_ScrollChanged">
<StackPanel x:Name="channelBtns" Orientation="Vertical">
<ItemsControl x:Name="channelBtnItems" ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ToggleButton x:Name="tgbChannelName" Width="{Binding Path=ChannelNameBtnWidth}" Height="{Binding Path=ChannelNameBtnHeight}" HorizontalAlignment="Left" VerticalAlignment="Center" IsChecked="{Binding Path=IsChecked, Mode=TwoWay}" Content="{Binding Path=ChannelName}" Tag="{Binding Path=Index}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>

C#代码

//The button click event handled
private void BtnScrollDownClicked(object sender, RoutedEventArgs e)
{ scrollViewerChannelBtns.ScrollToVerticalOffset(scrollViewerChannelBtns.VerticalOffset + 50);
}
private void BtnScrollUpClicked(object sender, RoutedEventArgs e)
{ scrollViewerChannelBtns.ScrollToVerticalOffset(scrollViewerChannelBtns.VerticalOffset - 50);
}

非常感谢,大同

最佳答案

我的开始工作后;

  ScrollViewer.UpdateLayout();                              
ScrollViewer.ScrollToVerticalOffset(outPoint.Y);

关于c# - ScrollToVerticalOffset() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com