0

我正在尝试将 a 绑定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.

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

所以对我做错了什么有任何想法吗?

4

1 回答 1

1

我将您编写的内容放入 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 到底在哪里被抛出?如果您不确定,请转到 Debug -> Exceptions 并尝试勾选“Common Language Runtime Exceptions”旁边的“Thrown”并尝试再次运行。

于 2013-10-02T18:16:20.853 回答