gpt4 book ai didi

将 slider 值设置为文本属性期间的 C# System.NullReferenceException

转载 作者:行者123 更新时间:2023-11-30 14:56:24 25 4
gpt4 key购买 nike

我有这个简单的 slider 项目。我想在 TextBox 中显示 slider 值。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox x:Name="sliderValue" HorizontalAlignment="Stretch" VerticalAlignment="Top" />
<Slider x:Name="slider" Minimum="0" Maximum="20" Value="5" ValueChanged="slider_ValueChanged"/></Grid>

// Constructor
public MainPage()
{
InitializeComponent();
}

private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
var slider = sender as Slider;
string value = string.Format("{0}", slider.Value);
sliderValue.Text = value;
}

在最后一行我得到这个错误:

System.NullReferenceException: Object reference not set to an instance of an object. at slider_test.MainPage.slider_ValueChanged(Object sender, RoutedPropertyChangedEventArgs`1 e) at .......

谁能解释一下这是什么问题?谢谢。

最佳答案

您可以使用 XAML 通过将 slider 值绑定(bind)到 TextBlock 文本来实现。

        <Slider x:Name="SliderValueText" ValueChanged="SliderValueText_ValueChanged"
VerticalAlignment="Top"
Width="440"
Minimum="0"
Maximum="20"
Value="5" />
<TextBlock Height="30"
Text="{Binding Value, ElementName=SliderValueText}"
VerticalAlignment="Top"
HorizontalAlignment="Center" />


private void SliderValueText_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<double> e)
{
string value = string.Format("{0}", e.NewValue);
MessageBox.Show(value);
}

这是选项之一。在这里您需要 slider 值。所以我存储在变量“值”中。这就是我在 MessageBox 中显示的内容。但至少要尝试...

关于将 slider 值设置为文本属性期间的 C# System.NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22983724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com