首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight事件处理

Silverlight事件处理
EN

Stack Overflow用户
提问于 2009-10-01 06:23:11
回答 3查看 1.2K关注 0票数 1

我尝试从滑块捕获MouseUp事件,但它从未进入处理程序内部。代码是常见的:

代码语言:javascript
复制
<Slider x:Name="sliderTime" 
        MouseLeftButtonDown="sliderTime_MouseLeftButtonDown" 
        MouseLeftButtonUp="sliderTime_MouseLeftButtonUp" />

在后面的代码中:

代码语言:javascript
复制
private void sliderTime_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    //some code
}

是滑块的bug还是别的什么?谢谢

EN

回答 3

Stack Overflow用户

发布于 2009-10-01 07:34:48

我复制了你发布的代码,它对我起作用了。

有没有可能这个事件实际上并没有连线?

我以两种不同的方式构建它,事件为我触发。你是如何构建它的?

还要检查一下你是否有一个物体覆盖了滑块?

版本1:打开Blend 3,file>create项目,Silverlight3应用程序+网站。添加了一个滑块并将其命名(简单地说就是因为你这样做了)。添加了标签(用于检查事件触发)。

选择组件,切换事件并双击MouseLeftButtonDown和MouseLeftButtonUp的事件,以创建事件和代码隐藏存根。已在MouseLeftButtonUp触发时更新标签。

版本2:打开Blend 3,file>create项目,Silverlight3应用程序+网站。添加了滑块和标签。右键单击Blend中的silverlight项目,然后在VS2008中打开它。使用intellisense连接标记中的事件。

两个版本都适用于我。这是其他代码的一部分吗?如果是这样的话,试着做一个只有滑块的版本,看看它是否有效,如果它有效,那么你现有代码中的一些东西可能会关闭。我会发布我的代码,这样你就可以看到它了。

代码语言:javascript
复制
<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"
    x:Class="SilverlightAppSlider2Test.MainPage"
    Width="640" Height="480">

    <Grid x:Name="LayoutRoot" Background="White">
            <Slider x:Name="sliderTime" MouseLeftButtonUp="Slider_MouseLeftButtonUp" MouseLeftButtonDown="sliderTime_MouseLeftButtonDown" Width="Auto" Height="20" Margin="5"/>
            <dataInput:Label x:Name="Label1" Width="200"/>
    </Grid>
</UserControl>

代码语言:javascript
复制
    private void Slider_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        // TODO: Add event handler implementation here.
        Label1.Content = "Mouse button left released.";
    }
票数 1
EN

Stack Overflow用户

发布于 2009-10-01 07:00:29

从Silverlight2Beta2开始,很多控件都不会触发MouseDown/MouseUp事件,我相信Slider就是其中之一。您可以通过继承Slider并编写自定义代码来触发这些事件来“解决”这一问题。看看这里:http://forums.silverlight.net/forums/p/18328/61917.aspx

票数 0
EN

Stack Overflow用户

发布于 2009-10-23 03:31:24

可以使用FrameworkElement.AddHandler方法处理此事件。但是,您不能用xaml将其连接起来。在这篇博客文章中有更多信息:

http://blogs.msdn.com/kmahone/archive/2009/03/19/handling-mouse-input-events-on-controls.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1502192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档