首页 新闻 会员 周边 捐助

WPF libstbox滚动

0
悬赏园豆:30 [已解决问题] 浏览: 946次 解决于 2012-04-19 13:59

在ListBox属性里我使用

ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"

隐藏了滚动条,然后使用两个Button来实现ListBox的滚动,那我要在Button里怎么写呢?

还有怎么判断Listbox滚动条的起始和到底了?

雨逸凡尘的主页 雨逸凡尘 | 初学一级 | 园豆:7
提问于:2012-04-17 09:06
< > 人人可用的开源BI工具
分享
最佳答案
1

别用ListBox做吧,不好做,你用StackPanel做,设置StackPanel的Orientation="Horizontal"属性,这样的话内容超出的时候不会显示出来,然后再StackPanel里放一个Canvas,在Canvas里放你需要放的东西,然后用两个按钮来控制Canvas在StackPanel里的位置实现滚动,效果很好。

收获园豆:30
路晚歌 | 初学一级 |园豆:3 | 2012-04-19 13:59
其他回答(2)
0

关注。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-04-17 09:26

其实以“关注”作为答案是很不好的一种做法,您觉得呢?

支持(0) 反对(0) zsounder | 园豆:2819 (老鸟四级) | 2012-04-17 09:32
0
<ListBoxScrollViewer.ScrollChanged="ListBox_ScrollChanged"         ScrollViewer.VerticalScrollBarVisibility="Hidden"/>

privatevoidListBox_ScrollChanged(object sender,ScrollChangedEventArgs e){    ButtonScrollUp.Visibility=ButtonScrollDown.Visibility=         ((ScrollViewer)e.OriginalSource).ScrollableHeight>0             ?Visibility.Visible             :Visibility.Collapsed;}
剩下的你自己试试吧,这个应该可以:
((ScrollViewer)e.OriginalSource).ScrollableHeight+=1;
悟行 | 园豆:12559 (专家六级) | 2012-04-17 09:44

((ScrollViewer)e.OriginalSource).ScrollableHeight+=1;

这个写在哪儿的,Button里面吗?

支持(0) 反对(0) 雨逸凡尘 | 园豆:7 (初学一级) | 2012-04-17 09:56

@雨逸凡尘: 是的,((ScrollViewer)e.OriginalSource).ScrollableHeight+=1;思路是这样的,如果不行,可以看一下别的属性,总之是有Height表示的属性。

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2012-04-17 10:02
((ScrollViewer)e.OriginalSource).ScrollableHeight+=1;这个我写在按钮点击事件里报错:

不能被分配属性或索引System.Windows.Controls.ScrollViewer.ScrollableWidth - 它是只读

支持(0) 反对(0) 雨逸凡尘 | 园豆:7 (初学一级) | 2012-04-17 10:02

@荒野的呼唤: 我是横向滚动的,是不是Width?

支持(0) 反对(0) 雨逸凡尘 | 园豆:7 (初学一级) | 2012-04-17 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册
Top