2

我对 WPF 有疑问:我想在我的 XAML 中使用具有默认值的滑块,但是当我这样做时,会引发异常:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in PresentationFramework.dll

这是我的代码:

<Slider Height="23" HorizontalAlignment="Center" Name="sliderVolume" VerticalAlignment="Top" Width="66" Grid.Row="2" ValueChanged="volume_ValueChanged" Margin="598,35,12,0" Value="100"/>

这是我的代码是 .cs :

private void volume_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    mediaElement.Volume = sliderVolume.Value;
}

没有默认值

Value"100"

有用 !

4

3 回答 3

1

根据MSDN。允许的最大音量为 1。

媒体的音量以 0 到 1 之间的线性刻度表示。默认值为 0.5。

所以你需要像这样设置你的滑块:

<Slider Value="0.5" Minimum="0" Maximum="1" Height="23" HorizontalAlignment="Center"
Name="sliderVolume" VerticalAlignment="Top" Width="66" Grid.Row="2"
ValueChanged="volume_ValueChanged" Margin="598,35,12,0" />

代码 :

private void volume_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> args)
      {
         mediaElement.Volume = (double)sliderVolume.Value;
      }
于 2013-02-07T15:19:00.903 回答
1

MediaElement 卷属性以0 到 1 之间的线性比例表示。

尝试:

mediaElement.Volume = sliderVolume.Value / 10;
于 2013-02-07T15:07:43.160 回答
1

我没有看到定义的最小值和最大值。您的“默认”值可能超出范围。

于 2013-02-07T14:57:50.580 回答