我们都知道鼠标滚轮的支持只限于浏览器上,但国外的一个高人 Adam Cooper 制作了这几个文件(下载),只要你添加到你的项目中,
立即可以为你的Sliverlight的页面,和页面上的控件,如textBox,ListBox等等,添加鼠标的滚轮支持!
代码如下:
在xaml里:-------------------------------------------------------------------------------------------------
<ScrollViewer x:Name="MyScroller" Width="300" Height="100" Background="AliceBlue">
<TextBlock TextWrapping="Wrap">
一大段文字...
</TextBlock>
</ScrollViewer>
C#代码:---------------------------------------------------------------------------------------------------
using Cooper.Silverlight.Controls;
public Page()
{
InitializeComponent();
ScrollViewerMouseWheelSupport.Initialize(this);
MyScroller.AddMouseWheelSupport();
}
搞定!就是这么简单,仅仅这几行代码而已!
也可以在自己定义的textBox里添加滚轮操作:
public class MyTextBox : TextBox
{
private Grid layoutRoot;
private ScrollViewer scroller;
public MyTextBox()
{
Template = (ControlTemplate)Application.Current.Resources["myTextBox"];
}
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
layoutRoot = (Grid) GetTemplateChild("layoutRoot");
scroller = (ScrollViewer)GetTemplateChild("scrollViewer");
ScrollViewerMouseWheelSupport.Initialize(layoutRoot);
scroller.AddMouseWheelSupport();
}
}
真的是太方便了!