我复制了您发布的代码,它对我有用。
有没有可能事件实际上没有连接起来?
我以两种不同的方式构建它,事件为我触发。你是怎么建造的?
还要检查一下是否有物体覆盖了滑块?
版本 1:打开 Blend 3,文件>创建项目,Silverlight 3 应用程序 + 网站。添加了一个滑块并将其命名(只是因为您这样做了)。添加了一个标签(检查事件触发)。
选择组件,切换事件并双击 MouseLeftButtonDown 和 MouseLeftButtonUp 的事件以创建事件和代码隐藏存根。在 MouseLeftButtonUp 触发时更新了标签。
版本 2:打开 Blend 3,文件>创建项目,Silverlight 3 应用程序 + 网站。添加了滑块和标签。在 Blend 中右键单击 silverlight 项目并在 VS2008 中打开它。使用智能感知在标记中连接事件。
两个版本都对我有用。这是其他代码的一部分吗?如果是这样,请尝试仅使用滑块制作一个版本,看看是否可行,如果可行,则现有代码中的某些内容可能会关闭。我将发布我的代码,以便您查看。
<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>
和
private void Slider_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
// TODO: Add event handler implementation here.
Label1.Content = "Mouse button left released.";
}