我正试着在windows universal 8.1上添加一个滑块,但我不确定需要什么。我的错误是:
Exception thrown: 'Windows.UI.Xaml.Markup.XamlParseException' in Mead Must Maker.Windows.exe
WinRT information: Failed to assign to property 'Windows.UI.Xaml.Controls.Primitives.RangeBase.Minimum'. [Line: 22 Position: 182]
The program '[1260] Mead Must Maker.Windows.exe' has exited with code -1073741189 (0xc000027b). 这段代码到底出了什么问题?这是第22行:
<Slider x:Name="volumeSlider" HorizontalAlignment="Left" Height="50" Margin="50,400,0,0" VerticalAlignment="Top" Width="550" Maximum="10" LargeChange="1" Minimum="1" SmallChange="0.5" StepFrequency="0.5" TickFrequency="1" TickPlacement="Outside" Value="5" FontFamily="Global User Interface" ValueChanged="volumeSlider_ValueChanged"/>下面是事件处理程序:
private void volumeSlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
volume = float.Parse(volumeSlider.Value.ToString());
volumeTextBox.Text = volume.ToString();
Calculate();
}发布于 2016-09-14 16:59:10
您的代码中存在一些问题。以下是来自MainPage.xaml的代码:
...Value="5" FontFamily="Global User Interface" ValueChanged="volumeSlider_ValueChanged"/>在Slider控件中,您设置了Value="5“和ValueChanged="volumeSlider_ValueChanged",请注意,代码Value="5”将导致函数(VolumeSlider_ValueChanged)立即运行,但此时尚未创建Slider实例。因此,如果您调试volumeSlider_ValueChanged函数,您会发现volumeSlider为空引用,这将导致NullException。您可以像这样调整代码:
private void volumeSlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
if (volumeSlider != null) {
var volume = float.Parse(volumeSlider.Value.ToString());
volumeTextBox.Text = volume.ToString();
}
}https://stackoverflow.com/questions/39421652
复制相似问题