Nat*_*ate 2 .net wpf scroll textbox event-handling
我有一个WPF TextBox,定义如下:
<TextBox Text="{Binding Path=/Comments}"
Margin="351,193.91,10,36"
x:Name="txtComments"
IsReadOnly="True"
VerticalScrollBarVisibility="Auto"
LostFocus="txtComments_LostFocus"
MouseDoubleClick="txtComments_MouseDoubleClick"
AcceptsReturn="True" />
Run Code Online (Sandbox Code Playgroud)
这完全符合我的意愿; 但是,当VerticalScrollBars可见时,如果您快速单击ScrollBar,则会触发txtComments_MouseDoubleClick事件.有没有什么办法可以通过单击ScrollBar而不是文本框的主体来更改此行为或检测到事件被触发?
我想要这样做的主要原因是,如果你试图通过双击滚动条向下滚动事件被触发,导致应用程序沿着那条路走下去,如果那不是用户想要的动作,这是非常烦人的.
Cha*_*lie 12
在双击处理程序中,检查MouseButtonEventArgs上的OriginalSource属性.该源将告诉您它是实际滚动条(重复按钮)还是文本框.就像是:
if (e.OriginalSource is TextBox)
{
// Do your stuff.
}
else
{
// From the scroll-bar.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2912 次 |
| 最近记录: |