我正在尝试将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
。
我甚至无法更改滑块的值。
所以对我做错了什么的想法?
答案 0 :(得分: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" />
所以你不需要背后的事件或代码。如果您需要处理或处理此值,您还可以将两个值绑定到代码隐藏或viewmodel中的同一属性。
无论如何,NullReferenceExeption究竟在哪里投掷?如果您不确定,请转到Debug - &gt;例外并尝试在“公共语言运行时异常”旁边勾选“投掷”并尝试再次运行。