Slider_ValueChanged 无法正常工作

本文关键字:工作 常工作 ValueChanged Slider | 更新日期: 2023-09-27 18:33:41

我正在尝试将TextBlock绑定到Slider值。

所以我所做的是将TextBlock的文本值设置为带有ValueChanged事件的滑块的值。这是我的XAML

<TextBlock Name="PartyNumber" Text="1"  
           FontSize="40" FontFamily="Calibri" 
           Width="100" FontWeight="Bold" Foreground="Green"/>
<Slider Name="PartyNumberSlider" Grid.Row="5" 
        Width="340" Style="{StaticResource SliderStyle1}" 
        Height="100" Maximum="12" 
        Minimum="1" Value="1" 
        ValueChanged="PartyNumberSlider_ValueChanged" />

我的代码是这样的:

private void PartyNumberSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    PartyNumber.Text = PartyNumberSlider.Value.ToString();
}

当我启动应用程序时,ValueChanged事件在初始化时触发,它会处理并NullReferenceExeption.

我什至无法更改滑块的值。

所以知道我做错了什么吗?

Slider_ValueChanged 无法正常工作

我删除了您编写的内容到WPF应用程序中,它按预期工作。 我可能会建议使用实际的数据绑定来执行此操作:

<TextBlock Name="PartyNumber" Text="{Binding ElementName=PartyNumberSlider, Path=Value}" 
    FontSize="40" FontFamily="Calibri" Width="100" FontWeight="Bold" Foreground="Green"/>
<Slider Name="PartyNumberSlider" Grid.Row="5" Width="340" Height="100" Maximum="12" Minimum="1" Value="1" />

因此,您不需要事件或代码隐藏。如果需要处理或处理此值,还可以将这两个值绑定到代码隐藏或视图模型中的同一属性。

无论如何,NullReferenceExeption究竟在哪里被抛出?如果不确定,请转到"调试 ->异常",尝试勾选"公共语言运行时异常"旁边的"抛出",然后尝试再次运行。